sql2005用存储过程如何动态创建表

来源:百度知道 编辑:UC知道 时间:2024/06/05 17:59:45
请说详细点哦.......是做JSP后台处理的..
那我在jsp中调用的话...怎么传参数?...我需要的是...在页面获得一个输入的值 然后把他添加在表名的后缀..所以创建表的名字是动态的...
谢谢帮下..

嗯,我试一下
create PROCEDURE Create_Table @con NVARCHAR(1000)
AS
DECLARE @StrSql NVARCHAR(4000)
BEGIN
SET @StrSql = 'create table '+ 'test_'+@con+'(columns1 int,columns2 int)'
PRINT @StrSql
execute sp_executesql @StrSql
END

很简单,表名是test_你的参数
运行exec Create_Table 'a'
得到的表是 test_a
表中2个字段,columns1,columns2 数据类型都是int型

CREATEPROC T0211(@TNAME VARCHAR(10))
AS
EXEC('CREATE TABLE '+@TNAME+' (TID INT)')
go

EXEC T0211 'TNAME'

就像这样,不一定费要用存储过程,不过动态创建表的话一定要执行动态SQL