Sql server 从新插入的行更新具有作用域标识的表
我有一个表,其中我需要用ticketnumber更新一列。 这些ticketNumber是在另一个表中创建的,该表是一个标识字段 这个代码不起作用。为什么?Sql server 从新插入的行更新具有作用域标识的表,sql-server,sql-server-2008,Sql Server,Sql Server 2008,我有一个表,其中我需要用ticketnumber更新一列。 这些ticketNumber是在另一个表中创建的,该表是一个标识字段 这个代码不起作用。为什么? UPDATE sheet10 SET [TicketNummer] = (INSERT INTO ticketnummers (AangemaaktOp, aangemaaktdoor,verwijderd,afgewezen) VALUES ('2014-01-20 15:00:00',100,0,0) SELECT SCOPE_IDEN
UPDATE sheet10
SET [TicketNummer] = (INSERT INTO ticketnummers (AangemaaktOp, aangemaaktdoor,verwijderd,afgewezen) VALUES ('2014-01-20 15:00:00',100,0,0) SELECT SCOPE_IDENTITY() )
where isnumeric([TicketNummer]) = 0
我做错了什么
rg。
Eric不能以这种方式使用INSERT。它必须是独立的声明 基本上,您必须分两步执行此操作:
INSERT INTO ticketnummers (AangemaaktOp, aangemaaktdoor,verwijderd,afgewezen) VALUES ('2014-01-20 15:00:00',100,0,0);
UPDATE sheet10
SET [TicketNummer] = SCOPE_IDENTITY()
where ISNULL([TicketNummer], 0) = 0
不能以这种方式使用INSERT。它必须是独立的声明 基本上,您必须分两步执行此操作:
INSERT INTO ticketnummers (AangemaaktOp, aangemaaktdoor,verwijderd,afgewezen) VALUES ('2014-01-20 15:00:00',100,0,0);
UPDATE sheet10
SET [TicketNummer] = SCOPE_IDENTITY()
where ISNULL([TicketNummer], 0) = 0
不能以这种方式使用INSERT。它必须是独立的声明 基本上,您必须分两步执行此操作:
INSERT INTO ticketnummers (AangemaaktOp, aangemaaktdoor,verwijderd,afgewezen) VALUES ('2014-01-20 15:00:00',100,0,0);
UPDATE sheet10
SET [TicketNummer] = SCOPE_IDENTITY()
where ISNULL([TicketNummer], 0) = 0
不能以这种方式使用INSERT。它必须是独立的声明 基本上,您必须分两步执行此操作:
INSERT INTO ticketnummers (AangemaaktOp, aangemaaktdoor,verwijderd,afgewezen) VALUES ('2014-01-20 15:00:00',100,0,0);
UPDATE sheet10
SET [TicketNummer] = SCOPE_IDENTITY()
where ISNULL([TicketNummer], 0) = 0
如果更新有行匹配,可组合DML应该只允许插入 然而
- 如何关联行
- 并发插入会发生什么情况
- 如果多行在sheet10中没有ticketSummer值,该怎么办
- 还有许多其他问题
UPDATE
sheet10
SET
TicketNummer = (
SELECT
*
FROM
(
INSERT INTO ticketnummers (AangemaaktOp, aangemaaktdoor,verwijderd,afgewezen)
OUTPUT INSERTED.IDColumn
VALUES ('2014-01-20 15:00:00', 100, 0, 0)
) X
)
WHERE
ISNULL(TicketNummer, 0) = 0;
如果更新有行匹配,可组合DML应该只允许插入 然而
- 如何关联行
- 并发插入会发生什么情况
- 如果多行在sheet10中没有ticketSummer值,该怎么办
- 还有许多其他问题
UPDATE
sheet10
SET
TicketNummer = (
SELECT
*
FROM
(
INSERT INTO ticketnummers (AangemaaktOp, aangemaaktdoor,verwijderd,afgewezen)
OUTPUT INSERTED.IDColumn
VALUES ('2014-01-20 15:00:00', 100, 0, 0)
) X
)
WHERE
ISNULL(TicketNummer, 0) = 0;
如果更新有行匹配,可组合DML应该只允许插入 然而
- 如何关联行
- 并发插入会发生什么情况
- 如果多行在sheet10中没有ticketSummer值,该怎么办
- 还有许多其他问题
UPDATE
sheet10
SET
TicketNummer = (
SELECT
*
FROM
(
INSERT INTO ticketnummers (AangemaaktOp, aangemaaktdoor,verwijderd,afgewezen)
OUTPUT INSERTED.IDColumn
VALUES ('2014-01-20 15:00:00', 100, 0, 0)
) X
)
WHERE
ISNULL(TicketNummer, 0) = 0;
如果更新有行匹配,可组合DML应该只允许插入 然而
- 如何关联行
- 并发插入会发生什么情况
- 如果多行在sheet10中没有ticketSummer值,该怎么办
- 还有许多其他问题
UPDATE
sheet10
SET
TicketNummer = (
SELECT
*
FROM
(
INSERT INTO ticketnummers (AangemaaktOp, aangemaaktdoor,verwijderd,afgewezen)
OUTPUT INSERTED.IDColumn
VALUES ('2014-01-20 15:00:00', 100, 0, 0)
) X
)
WHERE
ISNULL(TicketNummer, 0) = 0;
ISNUMERIC()
测试到底在做什么?是否将Sheet10中ticketnumber为空的任何行设置为新ticketnumber的值?这不是有点危险吗?我认为您还应该展示如何将这些行放入sheet10,以及它们与刚刚插入ticketnummers的行的关系。PS您所做的错误被称为“发明语法”。:-)这两个表的连接字段是什么?为什么?您可以使用“Composable DML”在一个表中插入并更新另一个表,但是为什么sheet10
表中已经存在一行,因为ticketnumers
中的新行名为sheet10的表有900行。更新对我来说是第一步。在此表中,ticketnummer的单元格为空,因此使用IsNummeric函数。填写完本栏后,我使用此表更新了另外两个表。此表的用途是什么?它存储了关于tickets表不包含的tickets的哪些信息?如果您还没有插入900个记录单,为什么它已经有900行了?这是客户希望我放入这些新创建的记录单的信息列表。ISNUMERIC()
测试到底在做什么?是否将Sheet10中ticketnumber为空的任何行设置为新ticketnumber的值?这不是有点危险吗?我认为您还应该展示如何将这些行放入sheet10,以及它们与刚刚插入ticketnummers的行的关系。PS您所做的错误被称为“发明语法”。:-)这两个表的连接字段是什么?为什么?您可以使用“Composable DML”在一个表中插入并更新另一个表,但是为什么sheet10
表中已经存在一行,因为ticketnumers
中的新行名为sheet10的表有900行。更新对我来说是第一步。在此表中,ticketnummer的单元格为空,因此使用IsNummeric函数。填写完本栏后,我使用此表更新了另外两个表。此表的用途是什么?它存储了关于tickets表不包含的tickets的哪些信息?如果您还没有插入900个记录单,为什么它已经有900行了?这是客户希望我放入这些新创建的记录单的信息列表。ISNUMERIC()
测试到底在做什么?是否将Sheet10中ticketnumber为空的任何行设置为新ticketnumber的值?这不是有点危险吗?我认为您还应该展示如何将这些行放入sheet10,以及它们与刚刚插入ticketnummers的行的关系。PS您所做的错误被称为“发明语法”。:-)这两个表的连接字段是什么?为什么?您可以使用“Composable DML”在一个表中插入并更新另一个表,但是为什么sheet10
表中已经存在一行,因为ticketnumers
中的新行名为sheet10的表有900行。更新对我来说是第一步。在此表中,ticketnummer的单元格为空,因此使用IsNummeric函数。填写完本栏后,我使用此表更新了另外两个表。此表的用途是什么?它存储了关于tickets表不包含的tickets的哪些信息?如果你还没有插入900张票,为什么它已经有900行了?这是客户希望我提供的信息列表