我想创建一个存储过程来响应朋友请求,但这给了我一个语法错误
CREATE PROC RESPOND_REQUEST @id1 INTEGER, @id2 INTEGER, @reply BIT AS BEGIN SELECT R FROM Requests R WHERE r.reciever_id = @id1 AND r.sender_id = @id2 SET R.reply = @reply END
Aaron Bertra.. 5
也许程序应该是:
CREATE PROCEDURE dbo.RESPOND_REQUEST -- always use dbo prefix @id1 INT, @id2 INT, @reply BIT AS BEGIN SET NOCOUNT ON; UPDATE dbo.Requests -- always use dbo prefix SET reply = @reply WHERE reciever_id = @id1 -- fix this typo - i before e, except after c AND sender_id = @id2; END GO
关于dbo前缀.
此外,您应该重命名参数,而不是通用@id1
,@id2
为什么不调用它们是什么,@receiver_id
并且@sender_id
?只是给他们数字似乎不必要地混淆.
也许程序应该是:
CREATE PROCEDURE dbo.RESPOND_REQUEST -- always use dbo prefix @id1 INT, @id2 INT, @reply BIT AS BEGIN SET NOCOUNT ON; UPDATE dbo.Requests -- always use dbo prefix SET reply = @reply WHERE reciever_id = @id1 -- fix this typo - i before e, except after c AND sender_id = @id2; END GO
关于dbo前缀.
此外,您应该重命名参数,而不是通用@id1
,@id2
为什么不调用它们是什么,@receiver_id
并且@sender_id
?只是给他们数字似乎不必要地混淆.