'0'附近的语法不正确。(Microsoft SQL Server)

肯佐莱克

当我在下面执行此过程时,它会返回我Incorrect syntax near '0'我不知道为什么。

错误位于Msg 102, Level 15, State 1, Line 43你能告诉我怎么了吗?谢谢您的提前。

CREATE PROCEDURE [dbo].[PV_SaveCategory] 
(
    @AccountID              BIGINT,
    @LocationID             BIGINT,
    @CategoryName           NVARCHAR(100),
    @ParentID               BIGINT,
    @ExternalCategoryID     BIGINT
)
AS
BEGIN
DECLARE @ExecSQL NVARCHAR(MAX)

SET @ExecSQL = N'
DECLARE @CategoryID INT, @Level INT
SELECT @CategoryID = Id FROM [DB].[dbo].[Category_' + CONVERT(NVARCHAR, @AccountID, 0) + '] WHERE @ExternalCategoryID = ExternalID
SELECT @Level = Level+1 FROM [DB].[dbo].[Category_' + CONVERT(NVARCHAR, @AccountID, 0) + '] WHERE @ParentID = Id

IF @CategoryID IS NULL
BEGIN
INSERT
    INTO [DB].[dbo].[Category_' + CONVERT(NVARCHAR, @AccountID, 0) + ']
            (
                 Name
                ,LocationID
                ,IsDeleted
                ,Level
                ,ParentCategoryID
                ,Main
                ,SubCategory1
                ,SubCategory2
                ,SubCategory3
                ,SubCategory4
                ,CategoryPath
                ,ExternalID
            )
            VALUES
            (
                @CategoryName,
                @LocationID,
                0,
                CASE WHEN @ParentID IS NULL THEN 0 ELSE @Level END,
                @ParentID,
                0,
                1,
                2,
                4,
                ''test'',
                @ExternalCategoryID
            )
    END
ELSE
    BEGIN
        UPDATE [DB].[dbo].[Category_' + CONVERT(NVARCHAR, @AccountID, 0) + '] SET
                Level = CASE WHEN @ParentID IS NULL THEN 0 ELSE @Level END,
                0,
                1,
                2,
                3,
                4,
                ''test2'',
            Where @CategoryID = Id AND @ParentID = ParentCategoryID
    END'

    print @ExecSQL

    EXECUTE sp_executeSQl @ExecSQL, N'@AccountID BIGINT, @LocationID BIGINT, @CategoryName NVARCHAR(100), @ParentID BIGINT, @ExternalCategoryID BIGINT',
             @AccountID = @AccountID, @LocationID = @LocationID, @CategoryName = @CategoryName, @ParentID = @ParentID, @ExternalCategoryID = @ExternalCategoryID

END;
圭多

我看到2个问题。

  1. 您在插入命令中定义了12个字段,并且只有11个值
  2. update语句没有列名(第一个除外)

应该是这样的:

UPDATE [DB].[dbo].[Category_' + CONVERT(NVARCHAR, @AccountID, 0) + '] 
SET  Level = CASE WHEN @ParentID IS NULL THEN 0 ELSE @Level END,
     field1 = 0,
     field2 = 1,
     field3 = 2,
     field4 = 3,
     field5 = 4,
     field6 = 'test2'
 Where @CategoryID = Id 
 AND   @ParentID = ParentCategoryID

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

')'SQL SERVER附近的语法不正确

来自分类Dev

SQL Server:“@”附近的语法不正确

来自分类Dev

'-'附近的语法不正确。(Microsoft SQL Server本机客户端10.0)

来自分类Dev

'.' 附近的语法不正确 (Microsoft SQL Server 本机客户端 11.0)

来自分类Dev

SQL ExecuteNonQuery抛出“'0'附近的语法不正确”。

来自分类Dev

'JSON'附近的语法不正确-SQL Server 2016

来自分类Dev

SQL Server''。'附近的语法不正确的异常。'?

来自分类Dev

SQL SERVER sp_executesql'''附近的语法不正确

来自分类Dev

','附近的语法不正确。SQL Server和C#

来自分类Dev

SQL Server'11'附近的语法不正确

来自分类Dev

SQL Server 08')'附近的语法不正确

来自分类Dev

SQL Server 2014的IIF``附近语法不正确''错误

来自分类Dev

SQL Server“附近的语法不正确” WHERE语句

来自分类Dev

'/' 附近的语法不正确。在 SQL Server 2012 中

来自分类Dev

SQL Server 错误:“'xyz' 附近的语法不正确”

来自分类Dev

[SQL Server]表附近语法不正确

来自分类Dev

sql server 上“=”错误附近的语法不正确

来自分类Dev

Microsoft SQL Server JPA 存储过程 com.microsoft.sqlserver.jdbc.SQLServerException:“{”附近的语法不正确

来自分类Dev

SQL Server的Microsoft OLE DB提供程序错误'80040e14''='附近的语法不正确

来自分类Dev

功能Microsoft sql-server中的语法不正确

来自分类Dev

SQL Server 2012:“按顺序求和”给出错误,“ order”附近的语法不正确

来自分类Dev

尝试插入SQL Server数据库时'PK'错误附近的语法不正确

来自分类Dev

SQL Server中关键字“ DECLARE”附近的语法不正确

来自分类Dev

SQL Server错误:“修改”附近的语法不正确。在我的查询中

来自分类Dev

SQL Server 2012:窗口上“顺序”附近的语法不正确

来自分类Dev

SQL Server 2008:关键字“ AS”附近的语法不正确

来自分类Dev

从SQL Server 2005到2008时,“'索引'附近的语法不正确”

来自分类Dev

SQL Server 2000存储过程中SET附近的语法不正确

来自分类Dev

重新种子化的SQL Server语句抛出错误附近的语法不正确

Related 相关文章

  1. 1

    ')'SQL SERVER附近的语法不正确

  2. 2

    SQL Server:“@”附近的语法不正确

  3. 3

    '-'附近的语法不正确。(Microsoft SQL Server本机客户端10.0)

  4. 4

    '.' 附近的语法不正确 (Microsoft SQL Server 本机客户端 11.0)

  5. 5

    SQL ExecuteNonQuery抛出“'0'附近的语法不正确”。

  6. 6

    'JSON'附近的语法不正确-SQL Server 2016

  7. 7

    SQL Server''。'附近的语法不正确的异常。'?

  8. 8

    SQL SERVER sp_executesql'''附近的语法不正确

  9. 9

    ','附近的语法不正确。SQL Server和C#

  10. 10

    SQL Server'11'附近的语法不正确

  11. 11

    SQL Server 08')'附近的语法不正确

  12. 12

    SQL Server 2014的IIF``附近语法不正确''错误

  13. 13

    SQL Server“附近的语法不正确” WHERE语句

  14. 14

    '/' 附近的语法不正确。在 SQL Server 2012 中

  15. 15

    SQL Server 错误:“'xyz' 附近的语法不正确”

  16. 16

    [SQL Server]表附近语法不正确

  17. 17

    sql server 上“=”错误附近的语法不正确

  18. 18

    Microsoft SQL Server JPA 存储过程 com.microsoft.sqlserver.jdbc.SQLServerException:“{”附近的语法不正确

  19. 19

    SQL Server的Microsoft OLE DB提供程序错误'80040e14''='附近的语法不正确

  20. 20

    功能Microsoft sql-server中的语法不正确

  21. 21

    SQL Server 2012:“按顺序求和”给出错误,“ order”附近的语法不正确

  22. 22

    尝试插入SQL Server数据库时'PK'错误附近的语法不正确

  23. 23

    SQL Server中关键字“ DECLARE”附近的语法不正确

  24. 24

    SQL Server错误:“修改”附近的语法不正确。在我的查询中

  25. 25

    SQL Server 2012:窗口上“顺序”附近的语法不正确

  26. 26

    SQL Server 2008:关键字“ AS”附近的语法不正确

  27. 27

    从SQL Server 2005到2008时,“'索引'附近的语法不正确”

  28. 28

    SQL Server 2000存储过程中SET附近的语法不正确

  29. 29

    重新种子化的SQL Server语句抛出错误附近的语法不正确

热门标签

归档