我正在努力将结果返回到从不同存储过程调用的动态查询。这就是我想要实现的目标。
程序A:
CREATE PROCEDURE A
@C1 int, @F1 int
AS
SET @SQL = 'SELECT ID FROM EMPLOYEE_TABLE WHERE '+@C1+' = +'@F1'
EXEC(@SQL)
程序B:
CREATE PROCEDURE B
@C1 int, @F1 int
AS
DECLARE @Result INT
EXEC @Result = A @C1, @F1
我需要运行存储过程B并让它返回给我结果。我似乎无法得到正确的结果。我该如何解决这个问题?
答案 0 :(得分:2)
您可以尝试以下两个存储过程查询语句
程序A:
ALTER PROCEDURE A
@C1 VARCHAR(250),
@F1 int
AS
DECLARE @SQL AS VARCHAR(MAX);
SET @SQL = 'SELECT ID FROM PatientTest WHERE '+ @C1+' = ' + CONVERT(VARCHAR(12),@F1)
EXEC(@SQL)
程序B:
ALTER PROCEDURE B
@C1 VARCHAR(250),
@F1 int
AS
Declare @Result int
EXEC @Result = A @C1, @F1
如果您将面临更多问题,请在评论中告诉我。谢谢。
答案 1 :(得分:0)
试试这两个。我想你会达到你预期的结果。
程序1
export=true
程序2
CREATE PROCEDURE GetValue
@ColumnName VARCHAR(250),
@ColumnValue VARCHAR(250)
AS
DECLARE @SQL AS VARCHAR(MAX);
SET @SQL = 'SELECT Email FROM Person WHERE '+ @ColumnName + ' = ''' + @ColumnValue + ''''
EXEC (@SQL)
-- EXEC GetValue 'MobileNo', '+8801919111333'