动态SQL:序列的下一个值失败

史蒂文·努普

在执行执行存储过程的动态SQL时,我很难从序列中获取值。我什至可以这样做吗?

我正在使用SQL Server2014。这是我的错误:

消息102,级别15,状态1,行
116'NEXT'附近的语法不正确。

我的代码:

Declare @Script1 NVARCHAR(max);
Declare @ScriptSP1 NVARCHAR(max);
Declare @ScriptSeq1 NVARCHAR(max);
Declare @ScriptExecSP1 NVARCHAR(max);

Set @Script1 = N'Create table dbo.tblParentSponsor(
[ParentSponsorId] INT PRIMARY KEY,
[Name] NVARCHAR(50) NOT NULL,
[Surname] NVARCHAR(50) NOT NULL, 
[Cellphone_Number] CHAR(10) NOT NULL,
[Telephone_Number] CHAR(10) NOT NULL,
[Address] NVARCHAR(50) NOT NULL,
[Region] NVARCHAR(50) NOT NULL,
[Email] NVARCHAR(254) NOT NULL,
[ID_Number] CHAR(13) NOT NULL
);'

EXEC sp_executesql @Script1;

Set @ScriptSP1 = N'CREATE PROCEDURE dbo.[sp_Insert_Into_tblParentSponsor]
@Id INT,
@Name NVARCHAR(50),
@Surname NVARCHAR(50), 
@Cellphone_Number CHAR(10),
@Telephone_Number CHAR(10),
@Address NVARCHAR(50),
@Region NVARCHAR(50),
@Email NVARCHAR(254),
@ID_Number CHAR(13)
AS
BEGIN
INSERT INTO dbo.tblParentSponsor(ParentSponsorId,Name,Surname,Cellphone_Number,Telephone_Number,Address,Region,Email,ID_Number)
VALUES(@Id,@Name,@Surname,@Cellphone_Number,@Telephone_Number,@Address,@Region,@Email,@ID_Number)
END'

EXEC sp_executesql @ScriptSP1;

SET @ScriptSeq1 = 'CREATE SEQUENCE dbo.TestS 
 AS [int]
 START WITH 1
 INCREMENT BY 1'

EXEC sp_executesql @ScriptSeq1;

SET @ScriptExecSP1 = 'dbo.[sp_Insert_Into_tblParentSponsor] NEXT VALUE FOR dbo.TestS,S,S,1,1,1,1,1,1;'

EXEC sp_executesql @ScriptExecSP1;
石巨人

也许这对您有用?

DECLARE @nextValue INT;

SET @nextValue = NEXT VALUE FOR dbo.TestS

SET @ScriptExecSP1 = 'dbo.[sp_Insert_Into_tblParentSponsor] ' +
                     CAST( @nextValue AS VARCHAR(10) ) + 
                     ',''S'',''S'',''1'',''1'',''1'',''1'',''1'',''1'';'

EXEC sp_executesql @ScriptExecSP1;

(使用任何想要将@nextValue转换为字符串的转换或转换方法。)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java在插入之前获取SQL记录的下一个序列号

来自分类Dev

如何在实体框架中获取SQL Server序列的下一个值?

来自分类Dev

org.hibernate.exception.SQLGrammarException:无法获取下一个序列值

来自分类Dev

如何从SQL Server获取下一个标识值

来自分类Dev

如何获取和锁定下一个标识值SQL Server

来自分类Dev

SQL获取列中的下一个非空值

来自分类Dev

获取javascript中innerHTML为动态值的下一个子元素

来自分类Dev

从序列SQL获取下一个值

来自分类Dev

derby语法错误:遇到EOF下一个值序列

来自分类Dev

始终使用“序列列”中的下一个序列(不允许用户输入值)

来自分类Dev

从平均序列中预测下一个事件

来自分类Dev

Presto / SQL查找满足条件的下一个值

来自分类Dev

在列中的日期值之后查找下一个日期(SQL Server 2008)

来自分类Dev

查找下一个较小和下一个较大的值

来自分类Dev

SQL Server获得多个序列的下一个值

来自分类Dev

PostgreSQL-表中的下一个序列值

来自分类Dev

PostgreSQL序列具有下一个值的特定公式

来自分类Dev

选择要在当前日期计算的下一个日期的值SQL

来自分类Dev

SQL-查找值相同或下一个最大值的所有行

来自分类Dev

SQL SELECT:在“ as”之前的下一个选定参数中,在“ as”之后使用分配的值

来自分类Dev

Oracle SQL:插入选定的值以及序列中的下一个值

来自分类Dev

SQL:如何动态解析范围从分钟到下一个分钟?

来自分类Dev

derby语法错误:遇到EOF下一个值序列

来自分类Dev

SQL查询,如何选择下一个值为当前值+1的间隔,标识下一个间隔并保持其他所有不变?

来自分类Dev

SQL更新语句,其中值必须大于上一个值但小于下一个值

来自分类Dev

未提供值时生成下一个序列

来自分类Dev

根据上一个和下一个值拆分和枚举 R 中的序列元素

来自分类Dev

选择下一个唯一值

来自分类Dev

下一个包含失败

Related 相关文章

  1. 1

    Java在插入之前获取SQL记录的下一个序列号

  2. 2

    如何在实体框架中获取SQL Server序列的下一个值?

  3. 3

    org.hibernate.exception.SQLGrammarException:无法获取下一个序列值

  4. 4

    如何从SQL Server获取下一个标识值

  5. 5

    如何获取和锁定下一个标识值SQL Server

  6. 6

    SQL获取列中的下一个非空值

  7. 7

    获取javascript中innerHTML为动态值的下一个子元素

  8. 8

    从序列SQL获取下一个值

  9. 9

    derby语法错误:遇到EOF下一个值序列

  10. 10

    始终使用“序列列”中的下一个序列(不允许用户输入值)

  11. 11

    从平均序列中预测下一个事件

  12. 12

    Presto / SQL查找满足条件的下一个值

  13. 13

    在列中的日期值之后查找下一个日期(SQL Server 2008)

  14. 14

    查找下一个较小和下一个较大的值

  15. 15

    SQL Server获得多个序列的下一个值

  16. 16

    PostgreSQL-表中的下一个序列值

  17. 17

    PostgreSQL序列具有下一个值的特定公式

  18. 18

    选择要在当前日期计算的下一个日期的值SQL

  19. 19

    SQL-查找值相同或下一个最大值的所有行

  20. 20

    SQL SELECT:在“ as”之前的下一个选定参数中,在“ as”之后使用分配的值

  21. 21

    Oracle SQL:插入选定的值以及序列中的下一个值

  22. 22

    SQL:如何动态解析范围从分钟到下一个分钟?

  23. 23

    derby语法错误:遇到EOF下一个值序列

  24. 24

    SQL查询,如何选择下一个值为当前值+1的间隔,标识下一个间隔并保持其他所有不变?

  25. 25

    SQL更新语句,其中值必须大于上一个值但小于下一个值

  26. 26

    未提供值时生成下一个序列

  27. 27

    根据上一个和下一个值拆分和枚举 R 中的序列元素

  28. 28

    选择下一个唯一值

  29. 29

    下一个包含失败

热门标签

归档