Frage : alle Indizes fallenlassen

wenn ich den Index erhalte, um alle Indizes zu entfernen, Stille verlässt sie wegen der FK-Begrenzungen. wie ändern Sie den below Code, um für alle Indizes und irgendwelche Begrenzungen unterzubringen, die ihn blockieren?

thanks
1:
2:
3:
4:
5:
6:
7:
8:
SELECT
FALL  
    WENN (is_primary_key =1 oder is_unique = 1)
    „TABELLE [„+SCHEMA_NAME (o.uid) DANN ÄNDERN +“]. [„+O.NAME+“] BEGRENZUNG [„+I.NAME+“]“, FALLENLASSEN
    „INDEX [“ +i.name + '] AUF SONST FALLENLASSEN [„+schema_name (o.uid) +“]. [„+i.name+“] '
    ENDE 
VON sys.indexes schließe mich ich sysobjects O an
AUF i.object_id=o.id und i.object_id>99 und i.type_desc<>'HEAP und o.type = ' U

Antwort : alle Indizes fallenlassen

Das Problem ist nicht soviel mit Tropfenindex; das Problem ist mit Begrenzung des Tropfens (Primärschlüssel/einzigartiger Schlüssel).  Sie können solch eine Begrenzung nicht fallenlassen, wenn es eine FK-Begrenzung abhängig von ihr gibt.

Wenn es ALLE Indizes fallenläßt, ist es recht direkt, ALLER FK-Begrenzung fallenzulassen, bevor es IRGENDWELCHE PK-oder Großbritannien-Begrenzungen fallenläßt.

Wenn Sie alle Indizes für eine einzelne Tabelle fallenlassen, dann benötigen Sie einen Cursor oder ein rekursives CTE, diesen Hinweis aller FK fallenzulassen, das verlegen, bevor es irgendwelche PK-oder Großbritannien-Begrenzungen fallenläßt.

Wenn Sie einen einzelnen Index fallenlassen, dann benötigen Sie einen Cursor oder ein rekursives CTE, aller FK fallenzulassen, das von diesem Index abhängen, bevor es irgendwelche PK-oder Großbritannien-Begrenzungen fallenläßt.

 

Weitere Lösungen  
 
programming4us programming4us