创建临时表的困惑
小弟目前有个问题 要用SQL临时才能解决
就是我要设计一个在前端给予这个临时表命名的表名后
再对这个表进行查询的一些作业
我试着写下以下的代码:
SQL code
create proc 新增谓词表
(
@user varchar(20)
)
as
create table #@user谓词表(id int,Property nvarchar(100),Propertyvalue nvarchar(200),defaultelement nvarchar(200))
go
declare @user varchar(20)
set @user='我是'
exec 新增谓词表 @user
之后查询这个表
select * from #我是谓词表
select * from #@user谓词表
我下搜寻这个表的命令 都找不到这个表 请问这里该如何编写才能得到我的需求呢?
------解决方案--------------------
------解决方案--------------------临时表不能这样用。
临时表有作用于范围,在存储过程中创建的临时表,只能在存储过程内部使用,再调用存储过程的地方是看不到里面创建的临时表的。
就像一个函数内的局部变量一样,再这个函数外是不能访问的。
你可以用全局临时表,表名用 ##我是谓词表
把你的代码中的 # 改成 ##