2
テーブル「accounts」のすべての列名を処理します。 スタックオーバーフローでこのストアドプロシージャが見つかりましたが、期待どおりに機能していません。私はエラーを取得していますカーソルが開いていないエラー
delimiter $
create procedure prc_column()
BEGIN
DECLARE num_rows int;
declare i int;
declare col_name varchar(1000);
DECLARE col_names CURSOR FOR
SELECT column_name
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'accounts'
ORDER BY ordinal_position;
select FOUND_ROWS() into num_rows;
SET i = 1;
the_loop: LOOP
IF i > num_rows THEN
CLOSE col_names;
LEAVE the_loop;
END IF;
FETCH col_names
INTO col_name;
// do something with column names for e.g. append it with _drupal
SET i = i + 1;
END LOOP the_loop;
END
:
ERROR 1326(24000):カーソルが
はそれが可能になる前に開いているカーソルを宣言することを忘れているようですprc_column(accounts)のようなプロシージャにテーブル名を供給しますか? – shantanuo