mySQLにパラメータを持つストアドプロシージャがあります。ストアドプロシージャ内に新しいテーブルを作成して、テーブル名をパラメータとしてストアドプロシージャに渡すにはどうすればよいですか。
質問する
4685 次
2 に答える
3
プロシージャからテーブルやその他のオブジェクトを作成することができます -
CREATE PROCEDURE procedure1(IN tableName VARCHAR(255))
BEGIN
SET @sql = CONCAT('CREATE TABLE ', tableName, '(column1 INT(11))');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
サポートされている DML ステートメントの詳細については、SQL Syntax for Prepared Statements を参照してください。
于 2012-05-23T15:41:41.733 に答える
1
この方法を使用して、テーブルを動的に作成します。
DECLARE @tableName VARCHAR(50)
DECLARE @fieldType VARCHAR(50)
DECLARE @fieldName VARCHAR(50)
SET @tableName='abc'
SET @fieldType ='int'
SET @fieldName='id'
EXEC('CREATE TABLE '+@tableName+'( '+@fieldName+' '+@fieldType+' )')
うまくいけば、私の答えがあなたを助けます。ありがとうございました
于 2012-05-24T09:41:15.950 に答える