如何在T-SQL中编写以下命令

如何在T-SQL中编写以下命令,sql,sql-server,Sql,Sql Server,我得到一个错误: 味精102,第15级,状态1,第1行 附近的语法不正确'N@deletedDate" 我不知道最后一行怎么写 它对@isDeleted有效,但当我尝试添加另一个变量@deletedDate时,它停止工作。变量声明之间的第二个参数中有一个不必要的N而不是逗号。您需要在第二个参数之前添加一个N,以使字符串NVARCHAR类型 试试这个 DECLARE @sqlCommand nvarchar(1000) SET @sqlCommand = 'SELECT TOP 1

我得到一个错误:

味精102,第15级,状态1,第1行
附近的语法不正确'N@deletedDate"

我不知道最后一行怎么写


它对
@isDeleted
有效,但当我尝试添加另一个变量
@deletedDate
时,它停止工作。

变量声明之间的第二个参数中有一个不必要的
N
而不是
逗号。您需要在第二个参数之前添加一个
N
,以使字符串
NVARCHAR
类型

试试这个

DECLARE @sqlCommand nvarchar(1000)

SET @sqlCommand = 'SELECT TOP 1 
                        @isDeleted = IsDeleted, 
                        @deletedDate = Deleted   
                    FROM ' + @FullTableName +
                   'WHERE ID = ' + cast(@RowID as nvarchar(30)) + '';

EXECUTE sp_executesql @sqlCommand, 
                         N'@isDeleted bit out N@deletedDate DATETIME out', 
                         @isDeleted out, @deletedDate out

变量声明之间的第二个参数中有一个不必要的
N
而不是
comma
。您需要在第二个参数之前添加一个
N
,以使字符串
NVARCHAR
类型

试试这个

DECLARE @sqlCommand nvarchar(1000)

SET @sqlCommand = 'SELECT TOP 1 
                        @isDeleted = IsDeleted, 
                        @deletedDate = Deleted   
                    FROM ' + @FullTableName +
                   'WHERE ID = ' + cast(@RowID as nvarchar(30)) + '';

EXECUTE sp_executesql @sqlCommand, 
                         N'@isDeleted bit out N@deletedDate DATETIME out', 
                         @isDeleted out, @deletedDate out

换句话说,OP缺少一个逗号。@GordonLinoff-也是一个不必要的
N
换句话说,OP缺少一个逗号。@GordonLinoff-也是一个不必要的
N