50 バイトの文字列を取り、一度に 1 バイトずつスキャンしてカンマを探すストアド プロシージャを作成しようとしています。見つかったら、フィールドを更新し、文字列のスキャンを続けて追加のコンマを探します。
私は Firebird データベースを使用DBVisualizer
しており、コードの開発に使用しています。
@delimiter ++;
CREATE PROCEDURE scan_for_comma(
lastname_field CHAR(50),
sr_bold_id int
)
RETURNS (
comma_flag varchar(1))
AS
declare variable max_bytes inv default 50;
declare variable I integer;
BEGIN
I = 0;
While
(I <= max_bytes)
DO
Begin
if (substring(name_field from I for 1) = ',') then
Begin
comma_flag = 'Y'
I = I +1
UPDATE sr_address
SET lastname = (substring(name_field from i for 1) = ' ')
WHERE bold_id = :sr_bold_id
end
ELSE
(substring(name_field from loop_cnt for 1) != ',') then
Begin
I = I +1
END
END
END
++
@delimiter ;++
このエラーが発生します
14:45:34 [@DELIMITER - 0 行、0.000 秒]
コマンド処理
14:45:34 [CREATE - 0 行、0.000 秒]
[エラー コード: 335544569、SQL 状態: HY000]
GDS 例外. 335544569.
動的 SQL エラー SQL エラー コード = -104 トークンが不明です - 行 21、列 12 14:45:34 [@DELIMITER - 0 行、0.000 秒]
コマンド処理 ...
3 ステートメント実行、0影響を受ける行、実行/フェッチ時間: 0.000/0.000 秒
[2 成功、0 警告、1 エラー]
どんな助け/指示も大歓迎です。
どうもありがとうございました。