请教一个简单的存储故过程问题

城一直在 2008-07-15 11:07:53
CREATE PROCEDURE test

as

set nocount on

declare @sql nvarchar(200)

declare @table varchar(50)

set @table = 'tab1'

set @sql = 'select * into #TTT from '+@table

exec (@sql )

select * from #TTT

GO



请问我这个错在哪里了? 在ASP调用失败
...全文
75 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
dsp_zerg 2008-07-15
  • 打赏
  • 举报
回复
系统临时表 (global)
一个#的是局部临时表 (local)
城一直在 2008-07-15
  • 打赏
  • 举报
回复
感谢 perfectaction
nzperfect 2008-07-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 msgame 的回复:]
select * from ##TTT

上面两个#是什么意思????
[/Quote]
两##是全局临时表。
城一直在 2008-07-15
  • 打赏
  • 举报
回复
select * from ##TTT

上面两个#是什么意思????
wgzaaa 2008-07-15
  • 打赏
  • 举报
回复
--如果表名要作参数可改为
alter PROCEDURE test1 @table varchar(50) as
set nocount on
declare @sql nvarchar(200)
set @sql ='select * into #TTT from '+@table+' select * from #TTT'
exec (@sql)
GO
exec test1 'tab1'
hyde100 2008-07-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 perfectaction 的回复:]
SQL codeset @sql = 'select * into #TTT from '+@table
-->
set @sql = 'select * into #TTT from '+@table +'; select * from #TTT'
[/Quote]

---------------------------------------
以上,楼主的#TTT 已经过了引用范围
wgzaaa 2008-07-15
  • 打赏
  • 举报
回复
--昨天在这种题上就吃亏了,或者
set @sql = 'select * into #TTT from '+@table+' select * from #TTT'

exec (@sql )

go
wgzaaa 2008-07-15
  • 打赏
  • 举报
回复
set @sql = 'select * into ##TTT from '+@table

exec (@sql )

select * from ##TTT
bwu851 2008-07-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bwu851 的回复:]
没把@table变量传进去?
[/Quote]

sorry, 看错了.

同意二楼的.
bwu851 2008-07-15
  • 打赏
  • 举报
回复
没把@table变量传进去?
nzperfect 2008-07-15
  • 打赏
  • 举报
回复
set @sql = 'select * into #TTT from '+@table
-->
set @sql = 'select * into #TTT from '+@table +'; select * from #TTT'
SinGooCMS 2008-07-15
  • 打赏
  • 举报
回复
在查询分析器里运行一下就知道了

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧