The*_*ter 9 sql stored-procedures
我想知道是否可以在存储过程中有多个Update语句
像这样的东西:
Update Table1 set field1 = @new_value where id = @table1_id
Update Table2 set field2 = @new_value where id = @table2_id
Update Table3 set field3 = @new_value where id = @table3_id
Run Code Online (Sandbox Code Playgroud)
现在我正在单独执行它们,但由于它们只是一起使用,我想知道它们是否只能位于一个SP中.
Qua*_*noi 25
是的,这是可能的:
CREATE PROCEDURE prc_update (@table1_id INT, @table2_id INT, @table3_id INT, @new_value INT)
AS
BEGIN
UPDATE Table1
SET field1 = @new_value
WHERE id = @table1_id
UPDATE Table2
SET field2 = @new_value
WHERE id = @table2_id
UPDATE Table3
SET field3 = @new_value
WHERE id = @table3_id
END
Run Code Online (Sandbox Code Playgroud)
是的,这很好.
还要在更新之前将其放在存储过程中:
set nocount on
Run Code Online (Sandbox Code Playgroud)
这使存储过程不会为没有结果的查询创建结果集.否则,每次更新都将生成一个空的结果集,并将其发送回客户端.
| 归档时间: |
|
| 查看次数: |
29246 次 |
| 最近记录: |