Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
运行保存在表中的SQL语句_Sql_Sql Server - Fatal编程技术网

运行保存在表中的SQL语句

运行保存在表中的SQL语句,sql,sql-server,Sql,Sql Server,我有一个表dbo.usp_,其中包含以下记录: EXEC USP_one EXEC USP_two EXEC USP_three 我想执行这3个或更多存储过程。 我可以用光标来做这件事 但是,有没有更简单的方法来解决这个问题?您可以尝试以下方法: DECLARE @SQL NVARCHAR(MAX) = ''; SELECT @SQL = @SQL + YourColumn + '; ' FROM YourTable; EXECUTE sp_executesql @S

我有一个表dbo.usp_,其中包含以下记录:

    EXEC USP_one
    EXEC USP_two
    EXEC USP_three
我想执行这3个或更多存储过程。 我可以用光标来做这件事

但是,有没有更简单的方法来解决这个问题?

您可以尝试以下方法:

DECLARE @SQL NVARCHAR(MAX) = '';
SELECT @SQL = @SQL + YourColumn + '; '
FROM YourTable;

EXECUTE sp_executesql @SQL;
其中列
YourColumn
包含SQL命令。

您可以尝试以下操作:

DECLARE @SQL NVARCHAR(MAX) = '';
SELECT @SQL = @SQL + YourColumn + '; '
FROM YourTable;

EXECUTE sp_executesql @SQL;
其中列
YourColumn
包含SQL命令。

您可以尝试以下操作:

DECLARE @SQL NVARCHAR(MAX) = '';
SELECT @SQL = @SQL + YourColumn + '; '
FROM YourTable;

EXECUTE sp_executesql @SQL;
其中列
YourColumn
包含SQL命令。

您可以尝试以下操作:

DECLARE @SQL NVARCHAR(MAX) = '';
SELECT @SQL = @SQL + YourColumn + '; '
FROM YourTable;

EXECUTE sp_executesql @SQL;

其中,
YourColumn
列包含SQL命令。

声明一个变量,并将表中的所有值(exec-procedurename)存储到该变量中,在该变量末尾追加空格,然后执行该变量。试试这个

declare @exec_proc nvarchar(max)=''
select @exec_proc += proc_name+' ' from dbo.usp_table
-- print @exec_proc
exec sp_executesql @exec_proc

注意:如果您的过程接受参数

声明一个变量,并将表中的所有值(exec procedurename)存储到该变量中,并在末尾添加空格,然后执行该变量,则此操作将不起作用。试试这个

declare @exec_proc nvarchar(max)=''
select @exec_proc += proc_name+' ' from dbo.usp_table
-- print @exec_proc
exec sp_executesql @exec_proc

注意:如果您的过程接受参数

声明一个变量,并将表中的所有值(exec procedurename)存储到该变量中,并在末尾添加空格,然后执行该变量,则此操作将不起作用。试试这个

declare @exec_proc nvarchar(max)=''
select @exec_proc += proc_name+' ' from dbo.usp_table
-- print @exec_proc
exec sp_executesql @exec_proc

注意:如果您的过程接受参数

声明一个变量,并将表中的所有值(exec procedurename)存储到该变量中,并在末尾添加空格,然后执行该变量,则此操作将不起作用。试试这个

declare @exec_proc nvarchar(max)=''
select @exec_proc += proc_name+' ' from dbo.usp_table
-- print @exec_proc
exec sp_executesql @exec_proc

注意:如果您的过程接受参数,这将不起作用

No。光标是前进的方向。不,真的。光标是前进的方向。不,真的。光标是前进的方向。不,真的。光标是前进的方向。