use master goCREATE PROCEDURE TestTable @TableName varchar(50) ASexec('select * from ' + @TableName); goexec TestTable 'syscolumns'drop procedure TestTable
wgsasd311说的正确,要传入的是结果集,你一定要救我。
必须在存储过程外部定义一个表变量如declare @rscount table (id int,value text) --------插入要传的记录 可以像表一样操作如下 insert into @rscount select * from tablename ------------调用过程 exec ADD_AddProduct @ProductName,@rscount go
goCREATE PROCEDURE TestTable
@TableName varchar(50)
ASexec('select * from ' + @TableName);
goexec TestTable 'syscolumns'drop procedure TestTable
--------插入要传的记录 可以像表一样操作如下
insert into @rscount select * from tablename
------------调用过程
exec ADD_AddProduct @ProductName,@rscount
go
那存储过程ADD_AddProduct 怎样写。就像我上面写的,会报错误 :
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: 'ADD_AddProduct' 附近有语法错误。
服务器: 消息 137,级别 15,状态 1,行 3
必须声明变量 '@attrValue 。
insert #
exec sp12.另外就是openrowset,这个可以跨服务器查询!
我在Transact_SQL帮助文档上看到 指定参数类型可以是SQL SERVER任意数据类型。具体的我不知道
输入参数类型到底能不能是table类型。
不过今你一说我现在用了你讲解的方法,可以实现,谢谢。但不知到有没有更好的方法,希望大家集思广益。