2016-03-03 71 views
0

从数据库生成脚本时遇到问题。这很简单,但我不知道如何解决它。 存储过程对象在表对象之前创建。这里是所有脚本:由SQL Server 2012生成的脚本无法再运行?

USE [ComicSellerManagement] 
GO 
/****** Object: StoredProcedure [dbo].[sp_AddingComicGenre] Script Date: 3/3/2016 3:39:38 PM ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
create proc [dbo].[sp_AddingComicGenre] 
@name nvarchar(50), 
@info nvarchar(max) 
as begin 
    insert into COMIC_GENRE values (@name, @info) 
end 
GO 
/****** Object: StoredProcedure [dbo].[sp_DeletingComicGenre] Script Date: 3/3/2016 3:39:38 PM ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
create proc [dbo].[sp_DeletingComicGenre] 
@id int 
as begin 
    delete from COMIC_GENRE where ID = @id 
end 
GO 
/****** Object: StoredProcedure [dbo].[sp_LoadingComicGenre] Script Date: 3/3/2016 3:39:38 PM ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
create proc [dbo].[sp_LoadingComicGenre] 
as begin 
    select * from COMIC_GENRE 
end 
GO 
/****** Object: StoredProcedure [dbo].[sp_UpdatingComicGenre] Script Date: 3/3/2016 3:39:38 PM ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
create proc [dbo].[sp_UpdatingComicGenre] 
@id int, 
@name nvarchar(50), 
@info nvarchar(max) 
as begin 
    update COMIC_GENRE 
    set GenreName = @name, Info = @info 
    where ID = @id 
end 
GO 
/****** Object: Table [dbo].[COMIC] Script Date: 3/3/2016 3:39:38 PM ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
CREATE TABLE [dbo].[COMIC](
    [ID] [int] IDENTITY(1,1) NOT NULL, 
    [Name] [nvarchar](50) NULL, 
    [Genre] [int] NULL, 
    [PublishYear] [int] NULL, 
    [Publisher] [int] NULL, 
    [Actor] [nvarchar](50) NULL, 
    [Price] [money] NULL, 
CONSTRAINT [PK_COMIC] PRIMARY KEY CLUSTERED 
(
    [ID] ASC 
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
) ON [PRIMARY] 

GO 
/****** Object: Table [dbo].[COMIC_GENRE] Script Date: 3/3/2016 3:39:38 PM ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
CREATE TABLE [dbo].[COMIC_GENRE](
    [ID] [int] IDENTITY(1,1) NOT NULL, 
    [GenreName] [nvarchar](50) NULL, 
    [Info] [nvarchar](255) NULL, 
CONSTRAINT [PK_COMIC_GENRE] PRIMARY KEY CLUSTERED 
(
    [ID] ASC 
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
) ON [PRIMARY] 

GO 
/****** Object: Table [dbo].[COMIC_PUBLISHER] Script Date: 3/3/2016 3:39:38 PM ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
SET ANSI_PADDING ON 
GO 
CREATE TABLE [dbo].[COMIC_PUBLISHER](
    [ID] [int] IDENTITY(1,1) NOT NULL, 
    [PublisherName] [nvarchar](50) NULL, 
    [Adress] [nvarchar](max) NULL, 
    [PhoneContact] [char](11) NULL, 
    [Discount] [float] NULL, 
CONSTRAINT [PK_COMIC_PUBLISHER] PRIMARY KEY CLUSTERED 
(
    [ID] ASC 
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] 

GO 
SET ANSI_PADDING OFF 
GO 
ALTER TABLE [dbo].[COMIC_PUBLISHER] ADD CONSTRAINT [DF_COMIC_PUBLISHER_Discount] DEFAULT ((0)) FOR [Discount] 
GO 
ALTER TABLE [dbo].[COMIC] WITH CHECK ADD CONSTRAINT [FK_COMIC_COMIC_GENRE] FOREIGN KEY([Genre]) 
REFERENCES [dbo].[COMIC_GENRE] ([ID]) 
GO 
ALTER TABLE [dbo].[COMIC] CHECK CONSTRAINT [FK_COMIC_COMIC_GENRE] 
GO 
ALTER TABLE [dbo].[COMIC] WITH CHECK ADD CONSTRAINT [FK_COMIC_COMIC_PUBLISHER] FOREIGN KEY([Publisher]) 
REFERENCES [dbo].[COMIC_PUBLISHER] ([ID]) 
GO 
ALTER TABLE [dbo].[COMIC] CHECK CONSTRAINT [FK_COMIC_COMIC_PUBLISHER] 
GO 

我无法运行此sql文件来恢复我的数据库在任何计算机。任何建议我来解决这个问题?

+2

“我无法运行这个sql文件”,为什么不呢? – artm

+0

'USE [ComicSellerManagement]' - 希望你已经创建了一个名称为 – Raj

+0

的DB先创建表,然后创建程序 – banksy

回答

2
  1. 试图改变这个选项时生成脚本 -

enter image description here

  • 另一种解决方案尝试使用dbForge模式比较

  • 使用备份的

  • +0

    我试图格式化为您的,但它仍然无法正常工作...无论如何,感谢您的帮助:) –

    +0

    也许最好的方法 - 创建备份在您的机器上,并在另一个恢复? – Devart

    +0

    这是很好的解决方案,我会尽力做出bak文件,再次感谢:) –