2017-12-14 6 views
0

の生成スクリプト内での順序を変更できますかチェックの制約のテーブル? 私はを生成する必要があります。最後に(テーブルと関数が存在する場合)チェック制約をチェックしてください。私は、関数F (Select COUNT (*) from table X)、 を持っていると私はチェック機能を持つテーブルY上の制約があるためパワーデザイナーテーブルと関数の後ろのCHECK制約

は例:

Create function F 
RETURNS int 
QUERY.... 
RETURN SELECT COUNT (*) FROM TABLE X 
END 
GO 

ALTER TABLE Y ADD Constraint ConstraintName dbo.Function F()= 1 

私は手続きのための順序を変更すると、スクリプトがDROP FUNCTIONで失敗したが(そこにありますYでの参照)。

答えて

0

あなたはFを機能させるテーブルYから、タイプDBCreateAfterTraceability Linkを作成し、機能FからテーブルXする必要があります。

これは、作成とドロップ順序を修正するはずです。

+0

あなたのアドバイスをありがとう - Yは....また、他のテーブルにいくつかの参照を持っている:-)多くの外国のキーです。この表では .. ドゥを、おそらくそれがルートになりますが、新しいfeewsの問題があります私はすべての(参照された)テーブルにTracebilitiesを作成する必要がありますか? 最初の場所にDROP TABLE Yがあります... がありますが、別のテーブルへの参照のためにスクリプトが機能しません:-) 2番目のスクリプトでは、Drop Function Y - それは正しい)。 ご協力いただきありがとうございます。 – user2408345

+0

アドバイスありがとうございます これは動作します:-) – user2408345

+0

私はちょうどOracleモデルを作成しようとしました。デフォルトでは、外部キーは 'create table(... foreign key ...')ではなく 'outside'(' alter table add constraint foreign key ... ')として生成されました。あなたのモデルに参照があれば、 'データベース>データベースの生成>オプション>外部キー'の下に 'outside'オプションがあります。 – pascal

関連する問題