今日、編集者は、ASPのSQLのバックアップと回復に関する詳細なチュートリアルをお客様と共有します。興味のある友達、編集者と一緒にそれについて学びましょう!
1。バックアップ
sql = "backupdatabaseデータベース名todisk = '"&server.mappath( "backup")& "/"& "backuptext.dat"& "'"
setcnn = server.createObject( "adodb.Connection")
cnn.open "driver = {sqlserver}; server = server name; uid = sa; pwd ="
CNN.EXECUTESQL
onerrorresumenext
iferr0then
Response.write "エラー:"&err.descripting
それ以外
response.write「データバックアップが成功しました!」
endif
%>
2。回復
sql = "restoredatabase database name fromdisk = '"&server.mappath( "backup")& "/"& "backuptext.dat"& "'"
setcnn = server.createObject( "adodb.Connection")
cnn.open "driver = {sqlserver}; server = server name; uid = sa; pwd ="
CNN.EXECUTESQL
onerrorresumenext
iferr0then
Response.write "エラー:"&err.descripting
それ以外
response.write「データの回復が成功しました!」
endif
%>
注:上記のステートメントは、データをディスクのバックアップディレクトリにバックアップすることで、ファイル名はbackuptext.datです。
2。SQLデータベース構造はASPで変更できますか?
回答:antaltable
名前
antyTable-テーブルのプロパティを変更します
文法
AlterTableTable [*]
[column] columnTypeを追加します
AlterTableTable [*]
[column] column {setDefaultValuedropDefault}
AlterTableTable [*]
[列] columnToneWColumnの名前を変更します
変更可能
RenametoneWtable
変更可能
AddTableConstraintDefinition
入力
テーブル
変更を試みた既存のテーブルの名前。
カラム
既存または新しい列名。
タイプ
新しい列のタイプ。
Newcolumn
既存の列の新しい名前。
ニューテーブル
テーブルの新しい名前。
TableConstraintDefinition
表の新しい制約定義。
NewtableConstraintForTheTable
出力
変更します
名前が変更された列またはテーブルから返された情報。
エラー
列またはテーブルが存在しない場合、返された情報が返されます。
説明する
antertableは、既存のテーブルの定義を変更します。 AddColumnフォームは、CreateTableと同じ構文を使用して、新しい列/フィールドをテーブルに追加します。 oltercolumnフォームを使用すると、列/フィールドからデフォルト(値)を設定または削除できます。デフォルト(値)は、新しく挿入された行に対してのみ有効であることに注意してください。名前の句は、関連するテーブルのデータに影響を与えることなく、テーブルまたは列/フィールドの名前を変更できます。したがって、このコマンドが実行された後、テーブルまたは列/フィールドは同じサイズとタイプのものになります。 AddTableConstraintDefinition節は、createTableと同じ構文を持つテーブルに新しい制約を追加します。
テーブルのプロパティを変更したい場合は、テーブルの所有者でなければなりません。
知らせ
列キーワードは冗長で、省略できます。
「*」の後にテーブル名が続く場合、コマンドがテーブルの上で動作することを意味し、そのテーブルの下に継承レベルを持つすべてのテーブルがあります。デフォルトでは、属性(変更)は任意のサブテーブルに追加されないか、サブテーブルの関連する名前が変更されません。これは、優れたテーブルの属性を追加または変更するときは常に当てはまるはずです(翻訳注:継承レベルが高いテーブル)。それ以外の場合、継承レベルでのクエリは次のように実行されます
selectnewcolumnfromsuperclass*
サブテーブルの属性が前のテーブルよりも1つ少ないため、機能しません。
現在の実装では、新しい列/フィールドのデフォルト(値)および制約条項は無視されます。その後、タートテーブルのSetDefaultフォームを使用してデフォルト(値)を設定できます。 (更新を使用して、既存の行をデフォルト値に更新する必要があります。)
現在の実装では、Tableにforeignkeyの制約のみをテーブルに追加できます。一意の制約を作成または削除するには、一意のインデックスを作成できます(CreateIndexを参照)。チェック(チェック)制約を追加するには、作成可能なコマンドの他のパラメーターで使用されるパラメーターを使用して、テーブルを再構築およびオーバーロードする必要があります。
テーブルの構造を変更するには、テーブルの所有者でなければなりません。システムテーブル構造のどの部分にも変更が許可されていません。 PostgreSQLユーザーマニュアルには、継承に関する詳細情報があります。
有効なパラメーターの詳細については、作成可能なセクションを参照してください。
使用法
テーブルにvarchar列を追加します。
Alter -TabledistributorsAddddcolumnddressvarchar(30);
既存の列の名前を変更します。
Alter -TabledistributorsRenAmeColumnAddresstocity;
既存のテーブルの名前の名前:
AltedistributorsRenametoSuppliers;
テーブルに外部キーの制約を追加します。
AlterTableDistributorsAddDconstraintDistfkForeignKey(アドレス)ReferencesAddresses(アドレス)Matchfull
互換性
上記のデフォルト(値)と制約を除き、SQL92ADDCOLUMNフォームは互換性があります。 oltercolumnフォームは完全に互換性があります。
SQL92は、Postgresが現在変更可能なものを直接サポートしていないいくつかの追加機能を宣言しています。
AlterTableTableDOPConstraintConstraint {restrictCascade}
テーブルの制約を追加または削除します(チェック制約、一意の制約、外部キー制約など)。一意の制約を作成または削除するには、それに応じて一意のインデックスを作成または削除して、他のタイプの制約を変更するには、作成可能なコマンドの他のパラメーターを使用してテーブルを再構築およびオーバーロードする必要があります。
たとえば、テーブルディストリビューターの制約を削除します。
createTableTempasselect*fromdistributors;
DropTableDistributors;
createTableDistributOrsAsselect*FromTemp;
DropTableTemp;
AlterTableTableDrop [列]列{RestrictCascade}
前に、既存の列を削除するには、テーブルを再作成してリロードする必要があります。
CreateTableTemPasselectDid、CityFromDistributors;
DropTableDistributors;
createTableDistributors(
diddecimal(3)default1、
namevarchar(40)notnull、
);
InsertIntoDistributorsSelect*FromTemp;
DropTableTemp;
列/フィールドとテーブル名の名前を変更すると、PostgreSQL拡張機能があります。 SQL92はこれらを提供しません。
上記は、ASPのSQLのバックアップと回復に関する詳細なチュートリアルです。あなたはそれについて学んだと思います。関連するコンテンツについては、引き続きWuxin Technologyチャネルに注意を払います。