我得到它的身体内我AddPartner
存储过程:为什么我得到“必须声明表变量...”的错误吗?
-- Create stored procedure for inserting a partner and returning the id of that inserted partner
CREATE PROCEDURE AddPartner (@name NVARCHAR(50),
@email NVARCHAR(254),
@new_guid UNIQUEIDENTIFIER OUTPUT)
AS
BEGIN
SET NOCOUNT ON
INSERT INTO Partners (name, email)
OUTPUT INSERTED.id INTO @new_guid
VALUES (@name, @email)
END
再后来我越来越
未能找到存储过程“AddPartner”。
但我假定这与前面提到的错误?我试图使用它,这样我可以得到新插入的项目的id
和使用,在一个相关的表中插入:
DECLARE @first_partner_id AS UNIQUEIDENTIFIER
EXEC AddPartner 'Haliburton', '[email protected]', @first_partner_id OUTPUT;
INSERT INTO Partners (name, email)
VALUES ('Berkshire Hathaway', '[email protected]');
INSERT INTO Partners (name, email)
VALUES ('Jason', '[email protected]');
-- Partners
-- ============================================================
-- id | name | email
-- ============================================================
-- 1 | 'Haliburton' | '[email protected]'
-- 2 | 'Berkshire Hathaway' | '[email protected]'
-- 3 | 'Jason' | '[email protected]'
INSERT INTO Answers (question_id, partner_id, val)
VALUES (1, @first_partner_id, 24);
INSERT INTO Answers (question_id, partner_id, val)
VALUES (1, @first_partner_id, 50);
INSERT INTO Answers (question_id, partner_id, val)
VALUES (3, @first_partner_id, 90);
我要去哪里错了吗?
尝试包括架构:'EXEC dbo.AddPartner。 。 。 '。 –
使用错误信息就像你的标题可以使用动态sql来解决它。但是因为你找不到存储过程'AddPartner'。我想你应该首先尝试戈登的建议 –