SQLServer 里用存储过程创建表

实习编辑 2020年2月19日15:37:00SQLServer 里用存储过程创建表已关闭评论15

【免责声明】

  1、本网站部分文章信息来源于网络转载是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如其他媒体、网站或个人从本网下载使用,必须保留本网注明的“稿件来源”,并自负版权等法律责任。如对稿件内容有疑议,请及时与我们联系。

  2、本网站致力于提供合理、准确、完整的资讯信息,但不保证信息的合理性、准确性和完整性,且不对因信息的不合理、不准确或遗漏导致的任何损失或损害承担责任。本网站所有信息仅供参考,不做交易和服务的根据, 如自行使用本网资料发生偏差,本站概不负责,亦不负任何法律责任。

  3、任何由于黑客攻击、计算机病毒侵入或发作、因政府管制而造成的暂时性关闭等影响网络正常经营的不可抗力而造成的损失,本网站均得免责。由于与本网站链接的其它网站所造成之个人资料泄露及由此而导致的任何法律争议和后果,本网站均得免责。

  4、本网站如因系统维护或升级而需暂停服务时,将事先公告。若因线路及非本公司控制范围外的硬件故障或其它不可抗力而导致暂停服务,于暂停服务期间造成的一切不便与损失,本网站不负任何责任。

  5、本网站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本网站不承担任何责任。

  6、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。

  7、本声明未涉及的问题参见国家有关法律法规,当本声明与国家法律法规冲突时,以国家法律法规为准。

  8、本网站如无意中侵犯了哪个媒体或个人的知识产权,请联系我们QQ:316865155,本网站将立即给予删除。

 
公司 :今天有一老同学问我一个用存储过程创建数据表的问题,这可把我问住了,我不会用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) 

 

  • 18922299980
  • 扫一扫加我微信
  • weinxin
  • 公众号:名将VR全景
  • 扫一扫在微信上关注我们
  • weinxin
实习编辑
  • 本文由 发表于 2020年2月19日15:37:00
  • 转载请务必保留本文链接:http://blog.hzzx3d.com/5911.html