北京網(wǎng)站設計 公司丁丁貓:今天有一老同學問我一個用存儲過程創(chuàng)建數(shù)據(jù)表的問題,這可把我問住了,我不會用SQLServer的存儲過程創(chuàng)建數(shù)據(jù)表!就是ORACLE我也剛剛學會如何用動態(tài)SQL創(chuàng)建數(shù)據(jù)表!我對SQLServer的存儲過程本來就是一無所知啊! 請教了我的同事,也是不知道如何弄!暈,看我們這些程序員當?shù)模? 問了一前的一個客戶,到現(xiàn)在還沒有答復.哎! 只好硬著頭皮搞了! 以下是錯誤的: 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 用上面的建的數(shù)據(jù)表名字就是 @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 原來也是用字符串拼的?。【拖馩racle里的一樣(類似于ORACLE里的動態(tài)SQL)
轉發(fā)請注明:丁丁貓