MSSQLの代わりに挿入トリガーのスケルトンボディを教えてもらえますか?私は購入注文列(整数)で最大の値をテストしようとしていますが、挿入すると最大値が1ずつ増加し、購入注文IDとして挿入されます。列はAuto Incrementオプションで設定されていなかったので、私はTriggerを使ってそれを回避しています。代わりにトリガーを挿入
ありがとうございました。
MSSQLの代わりに挿入トリガーのスケルトンボディを教えてもらえますか?私は購入注文列(整数)で最大の値をテストしようとしていますが、挿入すると最大値が1ずつ増加し、購入注文IDとして挿入されます。列はAuto Incrementオプションで設定されていなかったので、私はTriggerを使ってそれを回避しています。代わりにトリガーを挿入
ありがとうございました。
ID列を含むように表を変更する方法は次のとおりです。
同じ構造で、購買発注IDにID列を持つ新しいテーブルを作成します。あなたは「として、スクリプトテーブル」を使用し、同じように、発注書IDの行を変更することができます
[発注同上] int型のアイデンティティの主キー、新しいテーブルの上のアイデンティティの挿入時に
入れます:
SET IDENTITY INSERT NEWTABLEデータオーバー
コピーON:
INSERT INTO NEWTABLE(列)SELECT * FROM CurrentTable
ターンアイデンティティはオフに挿入しない:
SET IDENTITY INSERT NEWTABLE OFF
の名前を変更(またはドロップ)古いテーブルをそれはもはや使用されるように:
EXEC sp_renameを 'CurrentTableを'、 'BackupTable' ;
:
EXEC sp_renameを 'NEWTABLE'、 'CurrentTable';
これで、厄介なトリガーよりもはるかに優れた識別カラムが得られました。
Andomarが説明したように、特定の要件を適切にサポートするための新しいテーブルを作成することは、私の見解では理想的な行動コースです。
しかし、代わりに挿入トリガールートを使用する必要がある場合は、次のマイクロソフトの参考資料が詳細な例を示しています。
または代わりに、あなたは非常に似SQLを放出するSSMSでGUI ...を使用することができます... –