0
我創建了一個存儲過程,它從數據庫中刪除用戶名列表。然而這個腳本的輸出很奇怪。它將作爲用戶名輸入的輸入視爲列。它爲什麼這樣做?SQL Server:存儲過程沒有返回正確的結果
CREATE PROCEDURE [dbo].[sp_deleteUsersFromDb](@username varchar(500)) AS
BEGIN
DECLARE @SQL varchar(600)
EXEC('UPDATE [dbo].USER SET DELETED = 1 WHERE USERNAME IN (' + @username + ')')
PRINT N'DELETED THE USERS FROM THE DB'
END
當我運行此我得到
消息207,級別16,狀態1,行1
無效列名 'USER1'。
DELETED從數據庫中USERS
表模式是:
CREATE TABLE [dbo].[USER](
[ID] [int] IDENTITY(1,1) NOT NULL,
[VERSION] [int] NOT NULL,
[USERNAME] [varchar](32) NOT NULL,
[DELETED] [bit] NULL,
CONSTRAINT [USER_PK]
PRIMARY KEY CLUSTERED ([ID] ASC)
) ON [PRIMARY]