0

コードにWITH AS節があります

DECLARE @MyTable TABLE(Field_1 INT, Field_2 INT)
INSERT @MyTable VALUES
(1,2),
(2,2)

WITH x AS ( SELECT Field_1, Field_2  FROM @MyTable)
SELECT * FROM x 

上記のコードの結果を同じテーブルに挿入するにはどうすればよいですか? 次のように挿入しようとしています:

DECLARE @MyTable TABLE(Field_1 INT, Field_2 INT)
INSERT @MyTable VALUES
(1,2),
(2,2)
WITH x AS ( SELECT Field_1, Field_2  FROM @MyTable)

INSERT INTO @MyTAble (SELECT * FROM x)
SELECT * FROM @MyTable

しかし、うまくいきません。Management Studio mark @MyTAble likeInvalid object name @MyTable どうすればいいの?SQL Server 2008 R2 を使用しています。

4

1 に答える 1

3

多分あなたはこれを意味していたのでしょう (セミコロンやその他の小さな構文が重要です!),

DECLARE @MyTable TABLE(Field_1 INT, Field_2 INT);
------------------------------------------------^

INSERT @MyTable VALUES
(1,2),
(2,2);
-----^    

WITH x AS ( SELECT Field_1, Field_2  FROM @MyTable)
------------------------------------------^
INSERT INTO @MyTAble  SELECT * FROM x ;
---------------------^---------------^^

SELECT * FROM @MyTable;
--------------^-------^

...しかし、これは MySQL では機能しないと思います。

于 2012-08-10T12:30:00.757 に答える