私はコメントのパスIDを取得する必要がある場合は、単一値のために、私はこのようにそれを得ることができ、次の表に挿入する列がないidentity-insert FROMの構文はありますか?
CREATE TABLE dbo.T_Comments_Paths
(
path_id bigint IDENTITY(1,1) NOT NULL
,CONSTRAINT [PK_T_Comments_Paths] PRIMARY KEY(path_id)
);
CREATE TABLE dbo.T_Comments
(
COM_Id int IDENTITY(1,1) NOT NULL
,COM_Text NATIONAL CHARACTER VARYING(255) NULL
,CONSTRAINT [PK_T_Comments] PRIMARY KEY(COM_Id)
);
を定義している。しかし
DECLARE @outputTable TABLE (path_id bigint);
INSERT INTO T_Comments_Paths OUTPUT INSERTED.path_id INTO @outputTable DEFAULT VALUES;
SET @__pathuid = (SELECT TOP 1 id FROM @outputTable);
、私は別のテーブルからの挿入のために挿入されたID(複数)を取得するための構文を見つけることができません。
私はこれをしたい:
DECLARE @outputTable TABLE (path_id bigint, com_id bigint);
INSERT INTO T_Comments_Paths
OUTPUT INSERTED.path_id, com_id INTO @outputTable DEFAULT VALUES
FROM T_Comments
これは
"近いFROM-キーワード不適切な構文" を生み出す
私は(カーソルなし)ことをどのように行うことができますか?
注:私は、MySQLとの互換性が必要なので、そこにはUUID型は、MySQLでいない、と私はvarchar型またはvarbinary型のいずれかを使用したくないので、私は、)(NEWIDを使用することはできません...
@Ivan Starostin:それは重複していない、彼は1つだけの値を挿入しています。この記事も見つかりました。それは私が望むものではありません。 –
com_idの接頭辞にINSERTEDを付けてみましたか?したがって:OUTPUT INSERTED.path_id、INSERTED.com_id INTO @outputTableデフォルト値? –
@ジョン・ジョセフ:私はcom_idをT_Comments_Pathsに挿入していません。出力テーブルに、生成されたオートノードと一緒にそれを含めています。 –