1、ASP中怎么實現(xiàn)SQL數(shù)據(jù)庫備份、恢復! 答:asp在線備份sql server數(shù)據(jù)庫: 1、備份 % SQL="backup database 數(shù)據(jù)庫名 to disk='"Server.MapPath("backup")"\""backuptext.dat""'" set cnn=Server.createobject("adodb.connection") cnn.open "driver={SQL Server};Server=服務器名;uid=sa;pwd=" cnn.execute SQL on error resume next if err>0 then response.write "錯誤:"err.Descripting else response.write "數(shù)據(jù)備份成功!" end if %>
2、恢復 % SQL="Restore database 數(shù)據(jù)庫名 from disk='"Server.MapPath("backup")"\""backuptext.dat""'" set cnn=Server.createobject("adodb.connection") cnn.open "driver={SQL Server};Server=服務器名;uid=sa;pwd=" cnn.execute SQL on error resume next if err>0 then response.write "錯誤:"err.Descripting else response.write "數(shù)據(jù)恢復成功!" end if %>
SELECT NewColumn FROM SuperClass* 將不能工作,因為子表會比上級表少一個屬性。 在目前的實現(xiàn)里,新列/字段的缺?。ㄖ担┖图s束子句會被忽略。你可以隨后用 ALTER TABLE 的 SET DEFAULT 形式設置缺省(值)。(你還不得不用 UPDATE 把已存在行更新為缺省值。)
用法 向表中增加一個 VARCHAR 列: ALTER TABLE distributors ADD COLUMN address VARCHAR(30); 對現(xiàn)存列改名: ALTER TABLE distributors RENAME COLUMN address TO city; 對現(xiàn)存表改名: ALTER TABLE distributors RENAME TO suppliers; 向表中增加一個外鍵約束: ALTER TABLE distributors ADD CONSTRAINT distfk FOREIGN KEY (address) REFERENCES addresses(address) MATCH FULL 兼容性
SQL92ADD COLUMN 形式是兼容的,除了上面說的缺?。ㄖ担┖图s束外。ALTER COLUMN 形式是完全兼容的。 SQL92 對 ALTER TABLE 聲明了一些附加的Postgres目前還不直接支持的功能:
ALTER TABLE table DROP CONSTRAINT constraint { RESTRICT | CASCADE } 增加或刪除表的約束(比如象檢查約束,唯一約束或外鍵約束)。要創(chuàng)建或刪除一個唯一約束,對應地創(chuàng)建或刪除一個唯一索引,要修改其他類型的約束,你需要重建和重載該表,使用 CREATE TABLE 命令的其他參數(shù). 例如,刪除表 distributors 的任何約束:
CREATE TABLE temp AS SELECT * FROM distributors; DROP TABLE distributors; CREATE TABLE distributors AS SELECT * FROM temp; DROP TABLE temp; ALTER TABLE table DROP [ COLUMN ] column { RESTRICT | CASCADE } 前,要刪除一個現(xiàn)存的列,表必須重新創(chuàng)建和重新裝載: CREATE TABLE temp AS SELECT did, city FROM distributors; DROP TABLE distributors; CREATE TABLE distributors ( did DECIMAL(3) DEFAULT 1, name VARCHAR(40) NOT NULL, ); INSERT INTO distributors SELECT * FROM temp; DROP TABLE temp; 重命名列/字段和表名是 PostgreSQL 擴展。SQL92 沒有提供這些。