0
複数回実行される可能性のある古いデータベースの更新スクリプトを準備中です。条件付きで更新クエリを実行します。
複数回実行すると、列などの一部のdbオブジェクトが消滅している可能性があります。そのため、特定の条件によっては実行されないスクリプトがいくつかあります。
たとえば、次のとおりです。 evtype列がまだ利用可能な場合にのみ更新を実行したい。しかし、これを2回目の実行で含めると、無効な列のevtypeが発生します。
は、どのように私はあなたが列を削除する場合は、貧しい人々のデザインを持っている
PRINT 'Update event type IDs'
--IF COL_LENGTH('events', 'evtype') IS NOT NULL
IF EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'evtype'
AND Object_ID = Object_ID(N'events'))
BEGIN
UPDATE [events]
SET evtypeid=1 WHERE evtype='d'
UPDATE [events]
SET evtypeid=2 WHERE evtype='w'
UPDATE [events]
SET evtypeid=3 WHERE evtype='s'
END
PRINT 'Dropping events.evtype column'
IF COL_LENGTH('events', 'evtype') IS NOT NULL
BEGIN
ALTER TABLE events
DROP COLUMN evtype
END
一重引用符を二重にしてエスケープする必要があります。 –
非常によく設計されていないデータベースです。私たちはリファクタリングしています。 – wingyip