Ausgewählt aus dem Blog von hanghwp
1. So implementieren Sie die Sicherung und Wiederherstellung von SQL-Datenbanken in ASP!
Antwort: ASP-Online-Backup-SQL-Server-Datenbank:
1. Sicherung
<%
SQL="Backup-Datenbank Datenbankname auf Festplatte='"&Server.MapPath("backup")&""&"backuptext.dat"&"'"
set cnn=Server.createobject("adodb.connection")
cnn.open "driver={SQL Server};Server=Servername;uid=sa;pwd="
cnn.execute SQL
Bei Fehler als nächstes fortfahren
wenn err<>0 dann
Response.write „Fehler:“&err.Descripting
anders
Response.write „Datensicherung erfolgreich!“
Ende wenn
%>
2. Wiederherstellung
<%
SQL="Datenbank Datenbankname von Festplatte wiederherstellen='"&Server.MapPath("backup")&""&"backuptext.dat"&"'"
set cnn=Server.createobject("adodb.connection")
cnn.open "driver={SQL Server};Server=Servername;uid=sa;pwd="
cnn.execute SQL
Bei Fehler als nächstes fortfahren
wenn err<>0 dann
Response.write „Fehler:“&err.Descripting
anders
Response.write „Datenwiederherstellung erfolgreich!“
Ende wenn
%>
Hinweis: Mit der obigen Anweisung werden die Daten im Sicherungsverzeichnis der Festplatte gesichert. Der Dateiname lautet backuptext.dat.
2. Kann die SQL-Datenbankstruktur in ASP geändert werden?
Antwort: TABELLE ÄNDERN
Name
ALTER TABLE – Tabellenattributsyntax ändern
ALTER TABLE-Tabelle [ * ]
ADD [COLUMN] Spaltentyp
ALTER TABLE-Tabelle [ * ]
ALTER [ COLUMN ] Spalte { SET DEFAULT-Wert |.
ALTER TABLE-Tabelle [ * ]
Benennen Sie die Spalte [Spalte] in „Neue Spalte“ um
ALTER TABLE-Tabelle
UMBENENNEN IN newtable
ALTER TABLE-Tabelle
Tabelleneinschränkungsdefinition HINZUFÜGEN
Eingaben
Tisch
Der Name der vorhandenen Tabelle, die geändert werden soll: www.downcodes.com .
Spalte
Vorhandener oder neuer Spaltenname.
Typ
Der Typ der neuen Spalte.
neue Spalte
Der neue Name der vorhandenen Spalte.
neuer Tisch
Der neue Name der Tabelle.
Tabelleneinschränkungsdefinition
Neue Einschränkungsdefinition für die Tabelle.
Neue Tabelleneinschränkung für die
Tabellenausgabe
ÄNDERN
Von der umbenannten Spalte oder Tabelle zurückgegebene Informationen.
FEHLER
Informationen, die zurückgegeben werden, wenn eine Spalte oder Tabelle nicht vorhanden ist.
beschreiben
ALTER TABLE ändert die Definition einer vorhandenen Tabelle. Das Formular „Spalte hinzufügen“ fügt der Tabelle eine neue Spalte/ein neues Feld hinzu, wobei dieselbe Syntax wie bei „Erstellen einer Tabelle“ verwendet wird. Mit dem ALTER COLUMN-Formular können Sie Standardwerte (Werte) für Spalten/Felder festlegen oder entfernen. Beachten Sie, dass der Standardwert (Wert) nur für neu eingefügte Zeilen gültig ist. Die RENAME-Klausel kann den Namen einer Tabelle oder Spalte/Feld ändern, ohne dass sich dies auf Daten in der zugehörigen Tabelle auswirkt. Daher haben die Tabelle oder Spalten/Felder nach der Ausführung dieses Befehls immer noch die gleiche Größe und den gleichen Typ. Die Tabelleneinschränkungsdefinitionsklausel ADD fügt der Tabelle eine neue Einschränkung hinzu und verwendet dabei dieselbe Syntax wie CREATE TABLE.
Wenn Sie die Eigenschaften einer Tabelle ändern möchten, müssen Sie der Eigentümer der Tabelle sein.
Beachten
Das Schlüsselwort COLUMN ist redundant und kann weggelassen werden.
Wenn „*“ auf einen Tabellennamen folgt, bedeutet dies, dass der Befehl standardmäßig auf die Tabelle und alle Tabellen mit niedrigeren Vererbungsstufen als diese Tabelle angewendet wird. Dieses Attribut (Änderung) wird keiner untergeordneten Tabelle hinzugefügt oder geändert relativer Name der untergeordneten Tabelle. Dies sollte immer erfolgen, wenn Attribute einer übergeordneten Tabelle hinzugefügt oder geändert werden. Andernfalls wird auf der Vererbungsebene eine Abfrage wie die folgende ausgeführt:
SELECT NewColumn FROM SuperClass*
funktioniert nicht, da die untergeordnete Tabelle ein Attribut weniger hat als die übergeordnete Tabelle.
In der aktuellen Implementierung werden Standard- (Wert-) und Einschränkungsklauseln für neue Spalten/Felder ignoriert. Sie können den Standardwert (Wert) später mithilfe der SET DEFAULT-Form von ALTER TABLE festlegen. (Sie müssen auch UPDATE verwenden, um vorhandene Zeilen auf die Standardwerte zu aktualisieren.)
In der aktuellen Implementierung können der Tabelle nur FOREIGN KEY-Einschränkungen hinzugefügt werden. Um eine eindeutige Einschränkung zu erstellen oder zu löschen, erstellen Sie einen eindeutigen Index (siehe INDEX ERSTELLEN). Um eine Check-Einschränkung hinzuzufügen, müssen Sie die Tabelle mit den anderen Parametern des CREATE TABLE-Befehls neu erstellen und laden.
Um die Struktur einer Tabelle zu ändern, müssen Sie der Eigentümer der Tabelle sein. Es ist nicht gestattet, Teile der Systemtabellenstruktur zu ändern. Weitere Informationen zur Vererbung finden Sie im PostgreSQL-Benutzerhandbuch.
Eine Beschreibung der gültigen Parameter finden Sie im Abschnitt CREATE TABLE.
Verwendung Fügen Sie der Tabelle eine VARCHAR-Spalte hinzu:
ALTER TABLE-Verteiler ADD COLUMN-Adresse VARCHAR(30);
Benennen Sie eine vorhandene Spalte um:
ALTER TABLE Distributoren RENAME COLUMN Adresse TO Stadt;
Benennen Sie eine vorhandene Tabelle um:
ALTER TABLE Distributors RENAME TO Lieferanten;
Fügen Sie der Tabelle eine Fremdschlüsseleinschränkung hinzu:
ALTER TABLE Verteiler ADD CONSTRAINT distfk FOREIGN KEY (Adresse) REFERENCES Adressen (Adresse) MATCH FULL
Kompatibilität
Das SQL92ADD COLUMN-Formular ist kompatibel, mit Ausnahme der oben genannten Standardwerte (Werte) und Einschränkungen. Das ALTER COLUMN-Formular ist vollständig kompatibel.
SQL92 deklariert einige zusätzliche Funktionen für ALTER TABLE, die Postgres derzeit nicht direkt unterstützt:
ALTER TABLE Tabelle DROP CONSTRAINT Einschränkung { RESTRICT |.
Tabelleneinschränkungen hinzufügen oder löschen (z. B. Prüfeinschränkungen, Eindeutigkeitseinschränkungen oder Fremdschlüsseleinschränkungen). Um eine eindeutige Einschränkung zu erstellen oder zu löschen und entsprechend einen eindeutigen Index zu erstellen oder zu löschen und um andere Arten von Einschränkungen zu ändern, müssen Sie die Tabelle mit den anderen Parametern des CREATE TABLE-Befehls neu erstellen und laden.
Um beispielsweise alle Einschränkungen für Tabellenverteiler zu entfernen:
CREATE TABLE temp AS SELECT * FROM distributions;
DROP TABLE-Händler;
CREATE TABLE distributions AS SELECT * FROM temp;
DROP TABLE temp;
ALTER TABLE Tabelle DROP [ COLUMN ] Spalte { RESTRICT |.
Um eine vorhandene Spalte zu löschen, musste die Tabelle bisher neu erstellt und geladen werden:
CREATE TABLE temp AS SELECT tat, city FROM distributions;
DROP TABLE-Händler;
CREATE TABLE-Verteiler (
hat DECIMAL(3) DEFAULT 1,
Name VARCHAR(40) NICHT NULL,
);
INSERT INTO Verteiler SELECT * FROM temp;
DROP TABLE temp;
Das Umbenennen von Spalten-/Feld- und Tabellennamen ist eine PostgreSQL-Erweiterung. SQL92 bietet diese nicht.