我有以下查询,我从前端传递给前: -
CREATE TABLE [" + TableName + "]"
+ "("
+ "[Fname] [varchar](100) NOT NULL,"
+ "[Lname] [varchar](300) NOT NULL,"
+ "[CODE] [varchar](6) NULL,"
+ "[TYPE] [varchar](4) NULL,"
+ "[AMT] [float] NULL"
+ ") ON [PRIMARY]";
我想要做的是,如果数据库中没有表格,我想创建它。
但如果它存在,那么我想将该表结构与查询结构进行比较,如果存在一些差异,我想更新数据库表。但是没有丢失表格的数据。
我想为特定数据库的所有表做这件事。
从哪里开始的任何建议?如何实现这个任务?有什么想法吗?
帮帮我......
答案 0 :(得分:0)
您可以手动或使用visual studio进行操作 -
手动:您可以在此处查看此帖子,使用系统表和information_schema开始获取元信息 -
http://www.tech-recipes.com/rx/24343/sql-server-useful-metadata-queries/
然后,您可以收集所需的所有信息并进行比较。
这也可能是一个很好的起点 -
http://msdn.microsoft.com/en-us/library/ms186778.aspx
Visual Studio 我现在最好的是visual studio。视觉工作室内部首先创建一个SQL Server数据库项目。
然后,右键单击该项目,然后单击" Schema Compare"。您将被要求选择2个数据库1.源和2.目的地。源是新数据库,目标应该是旧数据库。选择visual studio后,将比较它们并显示一个屏幕以查看更改。
检查更改后,请检查屏幕顶部的按钮,您会找到必要的按钮,例如“比较”按钮。 '更新'等有很自我解释,所以我想你会理解它们。
我想你可以从这里找到自己的方式。这在此处记录。
http://msdn.microsoft.com/en-us/library/aa833435(v=vs.100).aspx
http://msdn.microsoft.com/en-us/library/dd193250(v=vs.100).aspx
编辑我现在没有SQL服务器,我的窗户被压了,所以无法显示正确的截图,但这可能会有所帮助 -