0

コードで CREATE PROC を実行すると、MYSQL (バージョン 5.2) で発生し続ける構文エラーに困惑しています。

MySQL プロシージャ コード:

DELIMITER //

CREATE PROCEDURE Delete_BillOfMaterialsDetail
(IN InOrderDate DATE,     
IN InProductCode varchar(40),     
IN InRawMaterialProductCode varchar(40) 
) 
BEGIN     
IF EXISTS
(SELECT * FROM basf_rawmaterialplanning.BillOfMaterialsDetail          
WHERE OrderDate = InOrderDate  
and ProductCode = InProductCode          
and RawMaterialProductCode = InRawMaterialProductCode)  
THEN  
DELETE FROM basf_rawmaterialplanning.BillOfMaterialsDetail
WHERE OrderDate = InOrderDate    
AND ProductCode = InProductCode
AND RawMaterialProductCode = InRawMaterialProductCode;
END IF; 
END //

DELIMITER ;

文字列データ型を使用して構築し、DB に対して実行すると、構文エラーが発生します。

私は何が間違っているのかわからないのですか?

  • みんなありがとう、私はそれを理解しました、StackOverflowが私にできるように答えを投稿します
4

3 に答える 3

0

ありがとうみんな、ついにそれを理解しました

スクリプトを MySqlScript オブジェクトに追加し、そのクラスを使用して実行しました。構文エラーなしで 100% 動作します

于 2012-07-03T05:23:10.227 に答える
0

区切り文字を変更するコマンドを別途実行してから、ストアド プロシージャの create コマンドを実行するだけです。

システムは現在、それを1つのコマンドと見なしているため、エラーが発生します:)

于 2012-07-02T11:00:22.117 に答える
0

このコードを試してください -

CREATE PROCEDURE Delete_BillOfMaterialsDetail3(
  IN InOrderDate DATE,
  IN InProductCode varchar(40),
  IN InRawMaterialProductCode varchar(40)) 
DELETE FROM basf_rawmaterialplanning.BillOfMaterialsDetail
WHERE OrderDate = InOrderDate    
AND ProductCode = InProductCode
AND RawMaterialProductCode = InRawMaterialProductCode;
于 2012-07-02T12:00:19.263 に答える