Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server:存储过程未返回正确的结果_Sql - Fatal编程技术网

SQL Server:存储过程未返回正确的结果

SQL Server:存储过程未返回正确的结果,sql,Sql,我创建了一个存储过程,从数据库中删除用户名列表。然而,这个脚本的输出很奇怪。它将用户名输入视为一列。它为什么这样做 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 + ')')

我创建了一个存储过程,从数据库中删除用户名列表。然而,这个脚本的输出很奇怪。它将用户名输入视为一列。它为什么这样做

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”无效。
已从数据库中删除用户

表架构为:

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]

@username参数必须包含带引号的用户名,例如“'user1'、'user2'”