วันนี้บรรณาธิการจะแบ่งปันการสอนโดยละเอียดเกี่ยวกับการสำรองข้อมูลและการกู้คืน SQL ใน ASP เพื่อนที่สนใจมาเรียนรู้เกี่ยวกับมันกับบรรณาธิการ!
1. สำรอง
SQL = "BackUpDatabase Database ชื่อ todisk = '" server.mappath ("backup") & "/" & "backuptext.dat" & "'"
setcnn = server.createObject ("adodb.connection"))
cnn.open "driver = {sqlserver}; เซิร์ฟเวอร์ = ชื่อเซิร์ฟเวอร์; uid = sa; pwd ="
cnn.executesql
onerrorresumenext
iferr0 จากนั้น
Response.write "ข้อผิดพลาด:" & err.descripting
อื่น
Response.write "การสำรองข้อมูลข้อมูลสำเร็จ!"
endif
-
2. การกู้คืน
SQL = "RESTOREDATABASE NAME NAME FRANTDISK = '" Server.MAppath ("Backup") & "/" & "Backuptext.dat" & "'"
setcnn = server.createObject ("adodb.connection"))
cnn.open "driver = {sqlserver}; เซิร์ฟเวอร์ = ชื่อเซิร์ฟเวอร์; uid = sa; pwd ="
cnn.executesql
onerrorresumenext
iferr0 จากนั้น
Response.write "ข้อผิดพลาด:" & err.descripting
อื่น
Response.write "การกู้คืนข้อมูลสำเร็จ!"
endif
-
หมายเหตุ: คำสั่งข้างต้นคือการสำรองข้อมูลไปยังไดเรกทอรีสำรองของดิสก์และชื่อไฟล์คือ backuptext.dat
2. โครงสร้างฐานข้อมูล SQL สามารถแก้ไขใน ASP ได้หรือไม่?
คำตอบ: ดัดแปลง
ชื่อ
การเปลี่ยนแปลงคุณสมบัติตารางการเปลี่ยนแปลง
ไวยากรณ์
Altertabletable [*]
เพิ่ม [คอลัมน์] คอลัมน์
Altertabletable [*]
แก้ไขคอลัมน์ [คอลัมน์] {setDefaultValuedropDefault}
Altertabletable [*]
เปลี่ยนชื่อ [คอลัมน์] คอลัมน์คอลัมน์คอลัมน์
เปลี่ยนแปลงได้
RenametonewTable
เปลี่ยนแปลงได้
addTableConstraintDefinition
อินพุต
โต๊ะ
ชื่อของตารางที่มีอยู่ซึ่งพยายามเปลี่ยน
คอลัมน์
ชื่อคอลัมน์ที่มีอยู่หรือใหม่
พิมพ์
ประเภทของคอลัมน์ใหม่
คอลัมน์ใหม่
ชื่อใหม่ของคอลัมน์ที่มีอยู่
ใหม่
ชื่อใหม่ของตาราง
TableConstraintDefinition
นิยามข้อ จำกัด ใหม่สำหรับตาราง
NewtableConstraintForThetable
เอาท์พุท
เปลี่ยนแปลง
ข้อมูลที่ส่งคืนจากคอลัมน์หรือตารางที่เปลี่ยนชื่อ
ข้อผิดพลาด
หากไม่มีคอลัมน์หรือตารางข้อมูลที่ส่งคืนจะถูกส่งคืน
อธิบาย
การเปลี่ยนแปลงการเปลี่ยนแปลงคำจำกัดความของตารางที่มีอยู่ แบบฟอร์ม addColumn เพิ่มคอลัมน์/ฟิลด์ใหม่ลงในตารางที่มีไวยากรณ์เดียวกันกับ createTable แบบฟอร์ม AlterColumn อนุญาตให้คุณตั้งค่าหรือลบค่าเริ่มต้น (ค่า) จากคอลัมน์/ฟิลด์ โปรดทราบว่าค่าเริ่มต้น (ค่า) นั้นใช้ได้กับแถวที่แทรกใหม่เท่านั้น ประโยคการเปลี่ยนชื่อสามารถเปลี่ยนชื่อของตารางหรือคอลัมน์/ฟิลด์โดยไม่ส่งผลกระทบต่อข้อมูลใด ๆ ในตารางที่เกี่ยวข้อง ดังนั้นตารางหรือคอลัมน์/ฟิลด์จะยังคงมีขนาดเท่ากันและพิมพ์หลังจากดำเนินการคำสั่งนี้ ประโยค AddTableConstraintDefinition เพิ่มข้อ จำกัด ใหม่ให้กับตารางที่มีไวยากรณ์เดียวกันกับ CreateTable
หากคุณต้องการเปลี่ยนคุณสมบัติของตารางคุณต้องเป็นเจ้าของตาราง
สังเกต
คำหลักคอลัมน์ซ้ำซ้อนและสามารถละเว้นได้
หาก "*" ตามด้วยชื่อตารางหมายความว่าคำสั่งคือการทำงานบนตารางและตารางทั้งหมดที่มีระดับการสืบทอดด้านล่างตารางนั้น โดยค่าเริ่มต้นแอตทริบิวต์ (การเปลี่ยนแปลง) จะไม่ถูกเพิ่มลงใน subtable ใด ๆ หรือชื่อที่เกี่ยวข้องของตารางย่อยใด ๆ จะถูกแก้ไข นี่ควรเป็นกรณีเสมอเมื่อเพิ่มหรือแก้ไขแอตทริบิวต์ของตารางที่เหนือกว่า (หมายเหตุการแปล: ตารางที่มีระดับการสืบทอดสูง) มิฉะนั้นการสืบค้นที่ระดับการสืบทอดจะดำเนินการดังต่อไปนี้
SelectNewColumnFromsuperClass*
จะไม่ทำงานเพราะ Subtable จะมีแอตทริบิวต์น้อยกว่าตารางก่อนหน้า
ในการใช้งานปัจจุบันค่าเริ่มต้น (ค่า) และข้อ จำกัด ของคอลัมน์/ฟิลด์ใหม่จะถูกละเว้น จากนั้นคุณสามารถตั้งค่าเริ่มต้น (ค่า) โดยใช้รูปแบบ setDefault ของการเปลี่ยนแปลง (คุณต้องใช้การอัปเดตเพื่ออัปเดตแถวที่มีอยู่เป็นค่าเริ่มต้น)
ในการดำเนินการในปัจจุบันสามารถเพิ่มข้อ จำกัด ของต่างชาติได้เฉพาะในตาราง ในการสร้างหรือลบข้อ จำกัด ที่ไม่ซ้ำกันคุณสามารถสร้างดัชนีที่ไม่ซ้ำกัน (ดู CreateIndex) ในการเพิ่มข้อ จำกัด การตรวจสอบ (ตรวจสอบ) คุณต้องสร้างใหม่และโอเวอร์โหลดตารางโดยใช้พารามิเตอร์ที่ใช้โดยพารามิเตอร์อื่น ๆ ของคำสั่ง createTable
ในการปรับเปลี่ยนโครงสร้างของตารางคุณต้องเป็นเจ้าของตาราง ไม่อนุญาตให้มีการเปลี่ยนแปลงส่วนใดส่วนหนึ่งของโครงสร้างตารางระบบ มีข้อมูลเพิ่มเติมเกี่ยวกับการสืบทอดในคู่มือผู้ใช้ PostgreSQL
โปรดดูส่วนที่สร้างขึ้นได้สำหรับคำอธิบายเพิ่มเติมของพารามิเตอร์ที่ถูกต้อง
การใช้งาน
เพิ่มคอลัมน์ Varchar ลงในตาราง:
AltertabledistributorsaddColumnaddressvarchar (30);
เปลี่ยนชื่อคอลัมน์ที่มีอยู่:
AltertabledistributorsrenamecolumnaddressTocity;
เปลี่ยนชื่อตารางที่มีอยู่:
Altertabledistributorsrenametosuppliers;
เพิ่มข้อ จำกัด ของคีย์ต่างประเทศลงในตาราง:
AltertabledistributorSaddConstraintDistFkFoReignkey (ที่อยู่) ผู้อ้างอิง ADDDRESSES (ที่อยู่) Matchfull
ความเข้ากันได้
แบบฟอร์ม SQL92AddColumn นั้นเข้ากันได้ยกเว้นค่าเริ่มต้น (ค่า) และข้อ จำกัด ที่กล่าวถึงข้างต้น รูปแบบการเปลี่ยนแปลงเข้ากันได้อย่างสมบูรณ์
SQL92 ประกาศคุณสมบัติเพิ่มเติมบางอย่างที่ Postgres ไม่รองรับโดยตรงสำหรับการเปลี่ยนแปลง:
AltertableTableDropConstraintConstraint {retrictCascade}
เพิ่มหรือลบข้อ จำกัด สำหรับตาราง (เช่นข้อ จำกัด การตรวจสอบข้อ จำกัด ที่ไม่ซ้ำกันหรือข้อ จำกัด ของคีย์ต่างประเทศ) ในการสร้างหรือลบข้อ จำกัด ที่ไม่ซ้ำกันสร้างหรือลบดัชนีที่ไม่ซ้ำกันตามลำดับเพื่อแก้ไขข้อ จำกัด ประเภทอื่น ๆ คุณต้องสร้างใหม่และโอเวอร์โหลดตารางโดยใช้พารามิเตอร์อื่น ๆ ของคำสั่งที่สร้างขึ้นได้
ตัวอย่างเช่นลบข้อ จำกัด ใด ๆ ของผู้จัดจำหน่ายตาราง:
createTableTempasselect*fromdributors;
Droptabledistributors;
CreateTabledistributorsAsselect*fromtemp;
DropTableTemp;
คอลัมน์ AterfletableTableDrop [คอลัมน์]
ก่อนหน้านี้ในการลบคอลัมน์ที่มีอยู่ตารางจะต้องสร้างใหม่และโหลดซ้ำ:
CreateTableTempasselectDid, CityFromDributors;
Droptabledistributors;
CreateTableDistributors (
diddecimal (3) default1,
Namevarchar (40) Notnull
-
InsertIntodistributorsSelect*fromtemp;
DropTableTemp;
เปลี่ยนชื่อคอลัมน์/ฟิลด์และชื่อตารางเป็นส่วนขยายของ PostgreSQL SQL92 ไม่ได้ให้สิ่งเหล่านี้
ข้างต้นเป็นบทช่วยสอนโดยละเอียดเกี่ยวกับการสำรองข้อมูลและการกู้คืน SQL ใน ASP ฉันเชื่อว่าคุณได้เรียนรู้เกี่ยวกับเรื่องนี้ สำหรับเนื้อหาที่เกี่ยวข้องเพิ่มเติมโปรดดำเนินการต่อเพื่อให้ความสนใจกับช่องเทคโนโลยี Wuxin