Hanghwp のブログから抜粋
1. ASP で SQL データベースのバックアップとリカバリを実装する方法!
回答: ASP オンライン バックアップ SQL サーバー データベース:
1. バックアップ
<%
SQL="データベースのデータベース名をディスクにバックアップします='"&Server.MapPath("backup")&""&"backuptext.dat"&"'"
set cnn=Server.createobject("adodb.connection")
cnn.open "driver={SQL Server};Server=サーバー名;uid=sa;pwd="
cnn.SQL を実行する
エラー時は次から再開
err<>0 の場合
response.write "エラー:"&err.説明
それ以外
response.write "データのバックアップが成功しました!"
終了する場合
%>
2. 回復
<%
SQL="ディスクからデータベースのデータベース名を復元='"&Server.MapPath("backup")&""&"backuptext.dat"&"'"
set cnn=Server.createobject("adodb.connection")
cnn.open "driver={SQL Server};Server=サーバー名;uid=sa;pwd="
cnn.SQL を実行する
エラー時は次から再開
err<>0 の場合
response.write "エラー:"&err.説明
それ以外
response.write "データ回復に成功しました!"
終了する場合
%>
注: 上記のステートメントはデータをディスクのバックアップ ディレクトリにバックアップするもので、ファイル名はbackuptext.dat です。
2. ASP で SQL データベース構造を変更できますか?
答え: ALTER TABLE
名前
ALTER TABLE — テーブル属性の構文を変更する
ALTER TABLE テーブル [ * ]
ADD [COLUMN] 列タイプ
ALTER TABLE テーブル [ * ]
ALTER [ COLUMN ] 列 { SET DEFAULT 値 | DROP DEFAULT }
ALTER TABLE テーブル [ * ]
[COLUMN]列の名前を新しい列に変更します
ALTER TABLE テーブル
新しいテーブルに名前を変更します
ALTER TABLE テーブル
ADDテーブル制約定義
入力
テーブル
変更しようとしている既存のテーブルの名前www.downcodes.com 。
カラム
既存の列名または新しい列名。
タイプ
新しい列のタイプ。
新しい列
既存の列の新しい名前。
新しいテーブル
テーブルの新しい名前。
テーブル制約定義
テーブルの新しい制約定義。
テーブル
出力
の新しいテーブル制約
変更
名前が変更された列またはテーブルから返された情報。
エラー
列またはテーブルが存在しない場合に返される情報。
説明する
ALTER TABLE は、既存のテーブルの定義を変更します。 ADD COLUMN フォームは、CREATE TABLE と同じ構文を使用して、テーブルに新しい列/フィールドを追加します。 ALTER COLUMN フォームを使用すると、列/フィールドのデフォルト (値) を設定または削除できます。デフォルト (値) は、新しく挿入された行に対してのみ有効であることに注意してください。 RENAME 句を使用すると、関連テーブル内のデータに影響を与えることなく、テーブルまたは列/フィールドの名前を変更できます。したがって、このコマンドの実行後も、テーブルまたは列/フィールドは同じサイズとタイプのままになります。 ADD テーブル制約定義句は、CREATE TABLE と同じ構文を使用してテーブルに新しい制約を追加します。
テーブルのプロパティを変更する場合は、テーブルの所有者である必要があります。
知らせ
COLUMN キーワードは冗長なので省略できます。
テーブル名の後に「*」が付いている場合は、コマンドがそのテーブルと、このテーブルよりも低い継承レベルを持つすべてのテーブルに対して動作することを意味します。デフォルトでは、この属性 (変更) は子テーブルに追加されず、子テーブルも変更されません。子テーブルの相対名。これは、親テーブルの属性を追加または変更するときに常に実行する必要があります。それ以外の場合は、継承レベルでの次のようなクエリ
SELECT NewColumn FROM SuperClass*
子テーブルの属性は親テーブルより 1 つ少ないため、機能しません。
現在の実装では、新しい列/フィールドのデフォルト (値) および制約句は無視されます。 ALTER TABLE の SET DEFAULT フォームを使用して、後でデフォルト (値) を設定できます。 (既存の行をデフォルト値に更新するには UPDATE も使用する必要があります。)
現在の実装では、FOREIGN KEY 制約のみをテーブルに追加できます。一意制約を作成または削除するには、一意のインデックスを作成します (「CREATE INDEX」を参照)。チェック制約を追加するには、CREATE TABLE コマンドの他のパラメータを使用してテーブルを再構築し、再ロードする必要があります。
テーブルの構造を変更するには、テーブルの所有者である必要があります。システム テーブル構造のいかなる部分も変更することはできません。継承に関する詳細については、PostgreSQL ユーザー マニュアルを参照してください。
有効なパラメータの説明については、「CREATE TABLE」セクションを参照してください。
使用法 VARCHAR 列をテーブルに追加します。
ALTER TABLE ディストリビューター ADD COLUMN アドレス VARCHAR(30);
既存の列の名前を変更します。
ALTER TABLE ディストリビュータ RENAME COLUMN address TO city;
既存のテーブルの名前を変更します。
ALTER TABLE ディストリビューターはサプライヤーに名前を変更します。
外部キー制約をテーブルに追加します。
ALTER TABLE ディストリビューター ADD CONSTRAINT distfk FOREIGN KEY (アドレス) REFERENCES アドレス (アドレス) MATCH FULL
互換性
SQL92ADD COLUMN フォームは、上記のデフォルト (値) と制約を除いて互換性があります。 ALTER COLUMN フォームは完全な互換性があります。
SQL92 は、Postgres が現在直接サポートしていない ALTER TABLE の追加機能を宣言しています。
ALTER TABLE table DROP CONSTRAINT 制約 { RESTRICT | CASCADE }
テーブル制約 (チェック制約、一意制約、外部キー制約など) を追加または削除します。一意制約を作成または削除し、それに応じて一意インデックスを作成または削除し、他のタイプの制約を変更するには、CREATE TABLE コマンドの他のパラメータを使用してテーブルを再構築および再ロードする必要があります。
たとえば、テーブル ディストリビュータに対する制約を削除するには、
。 CREATE TABLE temp AS SELECT * FROM distributions;
DROP TABLE ディストリビューター。
CREATE TABLE ディストリビューター AS SELECT * FROM temp;
ドロップテーブルの温度。
ALTER TABLE テーブル DROP [ COLUMN ] 列 { RESTRICT |
以前は、既存の列を削除するには、テーブルを再作成して再ロードする必要がありました。
CREATE TABLE temp AS SELECT 、都市からディストリビューター;
DROP TABLE ディストリビューター。
CREATE TABLE ディストリビューター (
DECIMAL(3) DEFAULT 1 を実行しました、
名前 VARCHAR(40) NOT NULL、
);
INSERT INTO ディストリビュータ SELECT * FROM temp;
ドロップテーブルの温度。
列/フィールドおよびテーブル名の変更は、PostgreSQL の拡張機能です。 SQL92 はこれらを提供しません。