主题:如何在存储过程中动态执行SQL语句
goodsirliu
[专家分:180] 发布于 2006-10-10 11:00:00
比如在存储过程中,执行了如下语句
declare @A nvarchar(20)
declare @B nvarcahr(20)
select @A=Col1,@B=Col2 from Table1
现在的问题是要从表Table2中取得列名为@A和@B的值,应该当如何实现?
回复列表 (共3个回复)
沙发
xzl16843 [专家分:10] 发布于 2006-10-12 17:47:00
你定义的时候吧它定义为:
CREATE PROCEDURE proc_xx
(
@A nvarchar(20) out,
@B nvarcahr(20) out
)
板凳
goodsirliu [专家分:180] 发布于 2006-10-13 08:16:00
樓上不是我要的結果,@A和@B是變量,在另一個表table2中又是列名,我想返回table2中包含@A和@B這兩列的結果集。
3 楼
wxf999 [专家分:10] 发布于 2006-10-23 12:49:00
DECLARE @InsertString AS NVARCHAR(4000)
SET @InsertString = N'SELECT @vR=' + @vRights + N' FROM Z_操作员权限表 WHERE 职工编号=''' + @vZGBH + N''' AND 数据表=''' + @vTableName + N''''
EXEC sp_executesql @InsertString, N'@vR BIT OUTPUT', @vR = @vResult OUTPUT
PRINT @vResult
我来回复