2012-05-23 38 views

回答

3

它可以创建表,并从过程的一些其他对象 - SQL Syntax for Prepared Statements - 约这里支持DML语句

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 

更多信息。

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 '[email protected]+'('[email protected]+' '[email protected]+')') 

希望我的回答能帮助你。谢谢你