-1

私は次のようなmysqlにストアドプロシージャを持っています:

SET @q1= CONCAT('INSERT INTO tblPermissionRole (IdRole , IdPermission) VALUES (p_IdRole', p_Permission, ')');
PREPARE stmt FROM @q1;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

1つのidRoleだけで複数のidPermissionを挿入したいのですが、プリペアドステートメントではそれがどのように可能かわかりません。私を助けてください。tnx。

4

2 に答える 2

1

2つの値のパラメータープレースホルダーを追加する必要があります

SET @q1= 'INSERT INTO tblPermissionRole (IdRole , IdPermission) VALUES (?, ?)';
PREPARE stmt FROM @q1;

set @id := 1;
<some kind of iteration that sets @perm>
  EXECUTE stmt USING @id, @perm;
</some kind ... >

DEALLOCATE PREPARE stmt;
于 2012-12-23T08:25:05.940 に答える
0

insert into..selectステートメントを使用できます。この記事はあなたを助けるかもしれません。アイデアは、コンマ区切りのパラメータ値を分割してテーブルを返す関数を作成するということです。挿入ステートメントでテーブルを作成します。

于 2012-12-23T08:22:59.787 に答える