Mysql 全局临时表需要什么权限

Mysql 全局临时表需要什么权限,mysql,sql,.net,sql-server,sql-server-2008,Mysql,Sql,.net,Sql Server,Sql Server 2008,现在,由于temp不能在存储过程中使用future,所以我将temp替换为DummyTable名称,该名称将在存储过程每次运行时创建和删除。此DummyTable将在我的数据库中创建,因此所有用户都需要权限才能创建DBA不允许的表 我有一个解决方案,就是使用全局表,比如temp。而且效果很好 现在我的问题是,用户是否也需要创建全局表的权限,或者创建临时表的相同权限对于全局表就足够了 提前感谢有什么原因不能在此外部作用域中创建临时表本身吗?用EXEC创建的内部作用域可以访问在外部作用域中创建的临时

现在,由于temp不能在存储过程中使用future,所以我将temp替换为DummyTable名称,该名称将在存储过程每次运行时创建和删除。此DummyTable将在我的数据库中创建,因此所有用户都需要权限才能创建DBA不允许的表

我有一个解决方案,就是使用全局表,比如temp。而且效果很好

现在我的问题是,用户是否也需要创建全局表的权限,或者创建临时表的相同权限对于全局表就足够了


提前感谢

有什么原因不能在此外部作用域中创建临时表本身吗?用EXEC创建的内部作用域可以访问在外部作用域中创建的临时表;它不仅存在严重的并发问题,还需要大量的模式锁和强制重新编译。你在这里真正想要实现的是什么?我怀疑还有更好的选择。例如,表值参数可能是输入的选项,而UDF可能是输出的选项;见鬼,只需一个SELECT就可以了-您可以插入/EXEC.Yes,因为真正的查询并不那么直接。它从变量中获取值,然后用另一个临时表数据透视它,所以只需要使用动态sql。但我的问题只与权限有关,所以我使用简单查询作为示例;表值参数与sp_executesql配合使用效果良好;执行脚本中的表变量也是如此。再说一遍:你想实现什么?@Nijith我知道这不是一个真正的问题,但你建议的方法是一个非常糟糕的想法;所以再说一遍:你想做什么,这样我们就可以建议一个合适的解决方案。如果有人问你锤入螺钉的正确方法,正确的答案是不要使用较重的锤子。这是尝试使用钉子,或尝试使用螺丝刀;至于哪个:那取决于你想做什么。
Declare @Str varchar(MAX)
SET @Str = 'Select * into #temp from SomeTable'
exec sp_executesql @Str;