我有这个存储过程
create proc ins (@val1 nvarchar(50), @val2 nvarchar(50))
as
insert into mytable values (@val1,@val2)
--======================================================
exec ins(1,2)
现在我需要获取具有替换值的存储过程文本
如下
insert into mytable values (1,2)
答案 0 :(得分:0)
在插入行之后创建一个字符串变量,然后选择该变量
insert into mytable values (@val1,@val2)
DECLARE @res as nvarchar(200)
set @res = N"insert into mytable
values (" + @val1 + N"," + @val2 +N")"
SELECT @res
答案 1 :(得分:0)
您可以使用商店过程中的 OUTPUT
子句来获取插入的值。
CREATE PROCEDURE ins
@val1 nvarchar(50),
@val2 nvarchar(50)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @rtn_Table TABLE (val1 nvarchar(50), val2 nvarchar(50))
INSERT INTO mytable (Col1, Col2)
OUTPUT inserted.Col1, inserted.Col2 INTO @TABLE
VALUES (@val1,@val2)
SELECT * FROM @TABLE
END
执行程序
DECLARE @Var1 NVARCHAR(50);
DECLARE @Var2 NVARCHAR(50);
SET @Var1 = 'value1';
SET @Var2 = 'value2';
DECLARE @r_Table TABLE (val1 nvarchar(50), val2 nvarchar(50));
INSERT INTO @r_Table (val1, val2)
EXECUTE dbo.ins @Var1, @Var2
SELECT * FROM @r_Table