SQLServer 里用存储过程创建表

今天有一老同学问我一个用存储过程创建数据表的问题,这可把我问住了,我不会用sqlserver的存储过程创建数据表!就是oracle我也刚刚学会如何用动态sql创建数据表!我对sqlserver的存储过程本来就是一无所知啊! 请教了我的同事,也是不知道如何弄!晕,看我们这些程序员当的! 问了一前的一个客户,到现在还没有答复.哎! 只好硬着头皮搞了! 以下是错误的: create procedure [dbo].[ctable] @table_name varchar as create table [dbo].[@table_name] ( [id] [int] identity (1, 1) not null , [ww_name] [varchar] (200) collate chinese_prc_ci_as not null , [ww_category] [varchar] (100) collate chinese_prc_ci_as null , [ww_sum] [int] null , [ww_price] [money] null , [ww_sumprice] [money] null , [ww_operator] [varchar] (50) collate chinese_prc_ci_as null , [ww_jren] [varchar] (50) collate chinese_prc_ci_as null , [ww_jdepartment] [varchar] (100) collate chinese_prc_ci_as null , [ww_jmemo] [varchar] (500) collate chinese_prc_ci_as null , [ww_oitime] [datetime] null , [ww_memo] [text] collate chinese_prc_ci_as null ) on [primary] textimage_on [primary] go exec ctable test 用上面的建的数据表名字就是 @table_name,太错了! 以下是正确的过程 create procedure [dbo].[ctable] @table_name varchar(4) as begin exec( create table [dbo].[+@table_name+] ( [id] [int] identity (1, 1) not null , [ww_name] [varchar] (200) collate chinese_prc_ci_as not null , [ww_category] [varchar] (100) collate chinese_prc_ci_as null , [ww_sum] [int] null , [ww_price] [money] null , [ww_sumprice] [money] null , [ww_operator] [varchar] (50) collate chinese_prc_ci_as null , [ww_jren] [varchar] (50) collate chinese_prc_ci_as null , [ww_jdepartment] [varchar] (100) collate chinese_prc_ci_as null , [ww_jmemo] [varchar] (500) collate chinese_prc_ci_as null , [ww_oitime] [datetime] null , [ww_memo] [text] collate chinese_prc_ci_as null ) on [primary] textimage_on [primary] ) end go 原来也是用字符串拼的啊!就像oracle里的一样(类似于oracle里的动态sql)
上一个:关于企业网站的一些简单的标签方法
下一个:暂无
景洪网站建设,景洪做网站,景洪网站设计