天天看点

用sql 储存过程复制表结构遇到的问题,求助大家了

鉴于select into语句的局限性(不能复制约束)

我尝试用储存过程来建立一个表。

要求此table的名字是动态赋予的,但是因为对储存过程的不了解,请求大家的帮助

主要是

1。N'[dbo].'[email protected] 写错了不知道怎么写

2。CREATE TABLE '[dbo].'[email protected] 也不知道怎么写

CREATE PROCEDURE [dbo].copyadminproducts

@tablename nvarchar(20)

AS

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].'[email protected]) and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table '[dbo].'[email protected]

CREATE TABLE '[dbo].'[email protected] (

  [ID] [int] IDENTITY (1, 1) NOT NULL ,

  [productsname] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,

  [productsid] [int] NULL ,

  [creteddate] [datetime] NULL

) ON [PRIMARY]

ALTER TABLE '[dbo].'[email protected] WITH NOCHECK ADD

  CONSTRAINT [[email protected]] PRIMARY KEY CLUSTERED

  (

    [ID]

  ) ON [PRIMARY]

ALTER TABLE '[dbo].'[email protected] ADD

  CONSTRAINT [[email protected]_creteddate] DEFAULT (getdate()) FOR [creteddate],

  CONSTRAINT [[email protected]] UNIQUE NONCLUSTERED

  (

    [productsid]

  ) ON [PRIMARY] ,

  CONSTRAINT [[email protected]_1] UNIQUE NONCLUSTERED

  (

    [productsname]

  ) ON [PRIMARY]

GO