假设我有一个简单的存储过程:
ALTER PROCEDURE [dbo].[myProc]
AS
BEGIN
SELECT * FROM myTable
END
Run Code Online (Sandbox Code Playgroud)
如何在Microsoft SQL Server Management Studio中对存储过程执行WHERE语句?像这样的东西:
SELECT * FROM myProc WHERE x = 'a'; -- But that doesn't work...
Run Code Online (Sandbox Code Playgroud)
听起来你正试图制作一个"动态"的存储过程.
你可能想做的事情是:
1)将存储过程的内容插入临时表
2)使用动态sql将where条件应用于该临时表.
就像是:
declare @as_condition varchar(500); --Your condition
create table #a
(
id bigint
)
insert into #a
execute sproc
declare @ls_sql varchar(max);
set @ls_sql = "select * from #a where " + @as_condition;
execute (@ls_sql);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37914 次 |
| 最近记录: |