hug*_*dan 18 sql t-sql sql-server asp.net-membership
当我尝试在下面创建存储过程时,我收到以下错误:
操作数类型冲突:uniqueidentifier与int不兼容
我不清楚导致此错误的原因.UserID实际上是我所有表中的int.谁能告诉我我做错了什么?
create procedure dbo.DeleteUser(@UserID int)
as
delete from [aspnet_Membership] where UserId = @UserID
delete from [Subscription] where UserID = @UserID
delete from [Address] where UserID = @UserID
delete from [User] where UserID = @UserID
go
Run Code Online (Sandbox Code Playgroud)
Aar*_*and 18
听起来像这些表中至少有一个已经定义UserID为a uniqueidentifier,而不是a int.你检查过每张桌子的数据了吗?什么是SELECT TOP 1 UserID FROM每个表产生?一个int还是一个GUID?
编辑
我认为您已经基于包含名为UserID的列的所有表构建了一个过程.我认为你不应该aspnet_Membership在你的脚本中包含该表,因为它不是真正的"你的"表.
如果你的意思是,设计围绕着你的表aspnet_Membership的数据库,那么为什么列的其余部分int时,该表明确使用uniqueidentifier的UserID列?