0
Insert into po_header 
(Code,Date,Status,Month_Period,Year_Period,Created_Date,Created_User)

(Select PO_PR from Purchasing_Default Where Defaults = 'Default PO'),
GETDATE(),
'Saved',
(Select Details from Lookup Where Code ='Month_Period'),
(Select Details from Lookup Where Code ='Year_Period'),
GETDATE(),
''

戻りエラー:

メッセージ 102、レベル 15、状態 1、行 5 「,」付近の構文が正しくありません。メッセージ 102、レベル 15、状態 1、行 8 「,」付近の構文が正しくありません。メッセージ 102、レベル 15、状態 1、行 9 「,」付近の構文が正しくありません。

4

3 に答える 3

1

リストされた値の前に Select ステートメントを追加します

Insert into po_header 
(Code,Date,Status,Month_Period,Year_Period,Created_Date,Created_User)
Select (Select PO_PR from Purchasing_Default Where Defaults = 'Default PO'),
       GETDATE(),
       'Saved',
       (Select Details from Lookup Where Code ='Month_Period'),
       (Select Details from Lookup Where Code ='Year_Period'),
       GETDATE(),
       ''
于 2012-11-18T01:06:55.427 に答える
0

挿入を試みる前に、有効なデータ セットを作成する必要があります。ターゲット テーブルに挿入するすべての列と行を返す 1 つの SELECT ステートメントを記述できますか? テーブルとリレーションシップをよりよく理解していないと、より具体的なアドバイスを提供することは困難ですが、明らかに、あなたが試みていることは有効ではありません。ただし、次のようなもの:

INSERT INTO TABLE (col1, col2, col3)
SELECT a.col1, b.col2, b.col3
FROM a JOIN b on a.ID = b.ID

動作します。

HTH。

于 2012-11-17T05:16:15.040 に答える
0

次のようにグローバル変数で解決しました:declare @PO_PR varchar(50); @Month_Details varchar(50); を宣言します。@Year_Details varchar(50); を宣言します。Set @PO_PR = (Purchasing_Default から PO_PR を選択、Defaults = 'Default PO'); Set @Month_Details = (コード ='Month_Period' のルックアップから詳細を選択); Set @Year_Details = (コード ='Year_Period' のルックアップから詳細を選択);

Insert into po_header (Code,Date,     
[Status],Month_Period,Year_Period,Created_Date,Created_User)

Values(
@PO_PR,
GETDATE(),
'Saved',
@Month_Details,
@Year_Details,
GETDATE(),
'');
于 2012-11-17T13:16:17.793 に答える