我写了一个用来创建表的存储过程:
CREATE PROCEDURE pro_CreateTable
(@strKCDH fvcKCDH,@Result tinyint = 0 OUTPUT)
AS
CREATE TABLE [dbo].[@strKCDH] (
[vcKCDH] [fvcKCDH] NOT NULL ,
[vcMMH] [fvcMMH] NOT NULL ,
[iZH] [smallint] NOT NULL ,
[cSign] [char] (1) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
if @@rowcount = 1
RETURN 0
GO
我想创建这样一个名字为:sbcj
我是这样执行:
declare @result tinyint
execute pro_createtable 'sbcj',@result
但是出来的表的名字还是@strKCDH,这个变量到底怎么用呢?
---------------------------------------------------------------
用exec ( ' CREATE TABLE [dbo].['+ @strKCDH' ] (
[vcKCDH] [fvcKCDH] NOT NULL ,
[vcMMH] [fvcMMH] NOT NULL ,
[iZH] [smallint] NOT NULL ,
[cSign] [char] (1) COLLATE Chinese_PRC_CI_AS NOT NULL ' )