EXEC 命令在 SQL 中用于动态执行存储过程或 SQL 语句,通过指定参数和嵌套调用实现灵活的代码操作。它支持调用存储过程、执行 ad-hoc SQL 语句、传递参数和嵌套执行。需要注意的是,EXEC 不能执行 DDL 语句,不会返回可检索的结果集,且可以在事务中执行。
SQL 中 EXEC 的用法
exec 命令 简介
EXEC 命令用于在 Transact-SQL 中执行另一个存储过程或 ad hoc SQL 语句。它允许您动态地执行语句,使其能够根据需要进行操作。
语法
EXEC [ @parameter_name = ] 'statement'
其中:
用法
EXEC 命令可用于以下目的:
调用存储过程:
EXEC sp_AddProduct 'Product1', 'Sony'
执行 ad-hoc SQL 语句:
EXEC 'SELECT * FROM Products WHERE Name = 'Product1''
传递参数:
DECLARE @product_id INT EXEC sp_GetProductDetails @product_id
嵌套 EXEC 调用:
EXEC EXEC sp_UpdateProduct 'Product1', 'New Sony'
注意事项
示例
以下示例演示了如何使用 EXEC 命令执行存储过程:
CREATE PROCEDURE sp_AddProduct ( @name VARCHAR(50), @brand VARCHAR(50) ) AS BEGIN -- 在 Products 表中插入新产品 INSERT INTO Products (Name, Brand) VALUES (@name, @brand); END GO DECLARE @product_name VARCHAR(50) = 'Product1' DECLARE @brand VARCHAR(50) = 'Sony' EXEC sp_AddProduct @product_name, @brand