天天看點

用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