把表格名称作为存储过程的参数传递,求解决方法
时间:2011-12-04
来源:互联网
我想通过存储过程求两个表格的交集
ALTER procedure [dbo].[p_CopyData]
@SrcTableName nvarchar(50),
@DestTableName nvarchar(50)
as
begin
declare @num int,@i int
exec('select '+@DestTableName+'.code into #t_code from '+@SrcTableName+' join '+@DestTableName+'
on '+@SrcTableName+'.code='+@DestTableName+'.code')
end
在exec语句后,我还有针对表格#t_code的一些操作,最后该表需要被删除,经试验,exec语句中用到的表格#t_code不能在exec语句外使用
有没有什么好的解决方法?
ALTER procedure [dbo].[p_CopyData]
@SrcTableName nvarchar(50),
@DestTableName nvarchar(50)
as
begin
declare @num int,@i int
exec('select '+@DestTableName+'.code into #t_code from '+@SrcTableName+' join '+@DestTableName+'
on '+@SrcTableName+'.code='+@DestTableName+'.code')
end
在exec语句后,我还有针对表格#t_code的一些操作,最后该表需要被删除,经试验,exec语句中用到的表格#t_code不能在exec语句外使用
有没有什么好的解决方法?
作者: liyongf 发布时间: 2011-12-04
改成如下面所示就行了:
SQL code
在存储过程内部生成的临时表在存储过程外部无法调用,但在调用存储过程前生成的临时表,可以在存储过程中向其中插入数据.
SQL code
create table t1(code varchar(10)) insert into t1 select 'aaa' insert into t1 select 'bbb' create table t2(code varchar(10)) insert into t2 select 'bbb' go go create procedure [dbo].[p_CopyData] @SrcTableName nvarchar(50), @DestTableName nvarchar(50) as begin declare @num int,@i int exec('insert into #t_code select '+@DestTableName+'.code from '+@SrcTableName+' join '+@DestTableName+' on '+@SrcTableName+'.code='+@DestTableName+'.code') end go create table #t_code(code varchar(10)) exec p_copyData 't1','t2' select * from #t_code /* code ---------- bbb (1 行受影响) */ go drop table t1,t2,#t_code drop procedure p_copydata
在存储过程内部生成的临时表在存储过程外部无法调用,但在调用存储过程前生成的临时表,可以在存储过程中向其中插入数据.
作者: qianjin036a 发布时间: 2011-12-04
存储过程内部定义的临时表的作用域只是当前这个存储过程中,临时表将在退出其作用域时由系统自动删除
作者: pengxuan 发布时间: 2011-12-04
#t_code--改为 ##t_code 全局临时表也可接收
建议
用临时表或表变量接收
建议
用临时表或表变量接收
作者: roy_88 发布时间: 2011-12-04
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28