Ich möchte eine Skalarfunktion in unserer Datenbank aktualisieren. Diese Funktion wird für mehrere berechnete Spalten in einer Schlüsseltabelle verwendet, sodass beim Versuch, sie zu aktualisieren, ein Abhängigkeitsfehler angezeigt wird. Ich kann die Spalten explizit entfernen, die Funktion aktualisieren und die Spalten erneut hinzufügen, aber ohne viel zusätzliches Fanning ändert dies die Spaltenreihenfolge und kann andere unbeabsichtigte Konsequenzen haben. Ich fragte mich, ob es einen saubereren Weg gab?
10
Antworten:
Dies mag mehr Arbeit sein, aber es sollte (ungefähr) das bekommen, wonach Sie suchen:
1 - Erstellen Sie eine neue Tabelle mit nur Ihrer PK aus der Haupttabelle und der aktualisierten Funktion.
2 - Lassen Sie Ihre alte Spalte fallen
3 - Benennen Sie Ihren alten Tisch in etwas um
TableName_Base
4 - Erstellen Sie eine
VIEW
, die Ihre Haupttabelle mit Ihrer Nachschlagetabelle verbindet, mit den Feldern in der Reihenfolge, in der Sie sie sehen möchten. Benennen Sie die Ansicht unabhängig von Ihrem ursprünglichen Tabellennamen.Dies kann möglicherweise zu Problemen mit
INSERTS
und führen,UPDATES
da Sie über eine Ansicht darauf zugreifen. Um dies zu bewältigen, können Sie entweder direkt in die Tabelle einfügen und die Ansicht umgehen.quelle