1

我必须创建远程数据库的完整副本。我只有一种有用且简单的方法来做到这一点:生成脚本。我知道其他方式(例如创建备份),但由于某种原因我不能使用它们。

由于一个表可能依赖于另一个表(具有外键等),因此很难确定创建表的有效顺序,我决定在最后生成这些“可靠”的脚本指令.

好吧,我知道如何在(接近)表创建中生成“可靠”的脚本指令。但是我应该怎么做才能先跳过它们才最终生成它们呢?

例如:

--How I do NOT want
--.........................
CREATE TABLE Table1(....)
ALTER TABLE Table1 ADD CONSTRAINT ...

CREATE TABLE Table2(....)
ALTER TABLE Table2 ADD CONSTRAINT ...



--How I would like
--.........................
CREATE TABLE Table1(....)
CREATE TABLE Table2(....)
--.........................
CREATE TABLE TableN(....)
--.........................
--the end of a script
ALTER TABLE Table1 ADD CONSTRAINT .....
4

1 回答 1

1

大概,您的代码已经循环遍历表并Script()在每个表上调用方法。您要做的是创建一个ScriptingOptions对象,将其 DriForeignKeys 属性设置为 false,然后Script()使用该 ScriptingOptions 对象作为参数调用该方法。然后,一旦你遍历了所有的表,你将需要再做一次,这次是拿起外键。

于 2012-11-05T13:26:08.647 回答