【发布时间】:2011-10-11 23:47:46
【问题描述】:
我正在尝试在 MSSQL 上编译这个存储过程:
ALTER PROCEDURE [dbo].[sp_Notice_insert]
@type text,
@message text
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO tbl_Notices (id, type, message)
VALUES (NewID(), @type, @message);
DECLARE @noticeid uniqueidentifier;
SET @noticeid = SCOPE_IDENTITY();
INSERT INTO tbl_NoticesInbox (userid, noticeid)
(SELECT id, @noticeid FROM tbl_User WHERE role='Staff');
END
GO
它应该在一个表中插入一个“通知”,然后为每个“员工”用户在收件箱表中插入一个“通知”。但是在编译时出现此错误:
操作数类型冲突:数字与唯一标识符不兼容
“角色”字段是nbarchar(10),所以我也尝试将N'Staff' 作为值,但我得到了同样的错误。它没有说明哪些类型实际上是冲突的。我做错了什么?
【问题讨论】:
标签: sql-server