0

我试图在 INSERT 语句中填充一些列,但我试图在一个 INSERT 语句中使用多个 select 语句。也许这是错误的。没有把握。

我正在使用 2 个数据库。ADVNET 和 JANEL

我正在尝试在 ADVNET.dbo.KenCatItemTest 中填充 4 列

  1. 列 CategoryItemId{uniqueidentifier,not null} 我需要使用 NEWID() 来生成一个 uniqueidentifier,但不能让它去。

  2. Column ItemId{uniqueidentifier,not null},我需要从这个语句中获取这 33 行:

    select itemid
    from janel.dbo.item
    where janel.dbo.item.itemnumber like 'c-%' and listprice > 0
    
  3. 列 CategoryID{uniqueidentifier,not null}

    我想指定'0FCA508F-7EB5-4C2E-8803-DE688C4126E5'

  4. 线序{int,不为空}

    我需要从 1 开始,然后以 1 秒递增。

我想出了以下几点:

insert into ADVNET.dbo.KenCatItemTest (CategoryItemId,ItemId,CategoryId)
  NEWID();
  select itemid from janel.dbo.item where janel.dbo.item.itemnumber like 'c-%' and listprice > 0;
  '0FCA508F-7EB5-4C2E-8803-DE688C4126E5'

对于 LineSequence 列,我正在考虑 AUTO_INCREMENT 功能或制作某种触​​发器。

我尽量缩进,但这里的文本框有点滑稽。

4

1 回答 1

3

使用此插入syntax

INSERT INTO ADVNET.dbo.KenCatItemTest
            (CategoryItemId,ItemId,CategoryId)
SELECT Newid(),itemid,'0FCA508F-7EB5-4C2E-8803-DE688C4126E5'
FROM   janel.dbo.item
WHERE  janel.dbo.item.itemnumber LIKE 'c-%'
       AND listprice > 0 
于 2015-03-05T04:39:49.053 回答