2

実行しているSQLファイルに次のものがあります...

DECLARE rowcount INT;

SELECT COUNT(*) INTO rowcount
FROM VRG_PROBLEM_ACCOUNT PA 
WHERE NEW.CustName = PA.CustNAME 
AND NEW.AreaCode = PA.AreaCode 
AND NEW.PhoneNumber = PA.PhoneNumber;

それでも私は得ています

ERROR 1327 (42000): Undeclared variable: rowcount

別のファイルでは、同じタイプのSELECT ... INTO localvariableを実行していますが、これは機能します。

4

2 に答える 2

4

ローカル変数は、保存されたルーチン内でのみ宣言できます。代わりに@変数を使用できます。これは、宣言する必要はまったくありません。

SELECT COUNT(*) INTO @rowcount
FROM ...
于 2012-11-08T02:42:57.450 に答える
0

クエリを少し書き直してみてはどうでしょうか。

DECLARE rowcount INT;

SET rowcount = (
    SELECT COUNT(*)
      FROM VRG_PROBLEM_ACCOUNT PA 
     WHERE PA.CustNAME = NEW.CustName
       AND PA.AreaCode = NEW.AreaCode
       AND PA.PhoneNumber = NEW.PhoneNumber);

更新 1*

完全なコードはわかりませんがDECLARE、複合ステートメント内でのみ許可されBEGIN ... END、他のステートメントの前に開始する必要があることに注意してください。

于 2012-11-08T02:48:05.787 に答える