เลือกจากบล็อกของ hanghwp
1. วิธีการใช้การสำรองและกู้คืนฐานข้อมูล SQL ใน ASP!
คำตอบ: ฐานข้อมูลเซิร์ฟเวอร์ SQL สำรองออนไลน์ของ ASP:
1. การสำรองข้อมูล
-
SQL = ชื่อฐานข้อมูลฐานข้อมูลสำรองไปยังดิสก์ ='"&Server.MapPath("backup")&""&"backuptext.dat"&"'"
ตั้งค่า cnn=Server.createobject("adodb.connection")
cnn.open "driver={SQL Server};Server=ชื่อเซิร์ฟเวอร์;uid=sa;pwd="
cnn.รัน SQL
เมื่อเกิดข้อผิดพลาดดำเนินการต่อต่อไป
ถ้าผิดพลาด <>0 แล้ว
response.write "ข้อผิดพลาด:"&err.Descripting
อื่น
response.write "สำรองข้อมูลสำเร็จ!"
สิ้นสุดถ้า
%>
2. การฟื้นตัว
-
SQL="เรียกคืนชื่อฐานข้อมูลฐานข้อมูลจาก disk='"&Server.MapPath("backup")&""&"backuptext.dat"&"'"
ตั้งค่า cnn=Server.createobject("adodb.connection")
cnn.open "driver={SQL Server};Server=ชื่อเซิร์ฟเวอร์;uid=sa;pwd="
cnn.รัน SQL
เมื่อเกิดข้อผิดพลาดดำเนินการต่อต่อไป
ถ้าผิดพลาด <>0 แล้ว
response.write "ข้อผิดพลาด:"&err.Descripting
อื่น
response.write "การกู้คืนข้อมูลสำเร็จ!"
สิ้นสุดถ้า
%>
หมายเหตุ: ข้อความข้างต้นคือการสำรองข้อมูลไปยังไดเร็กทอรีสำรองของดิสก์ และชื่อไฟล์คือ backuptext.dat
2. โครงสร้างฐานข้อมูล SQL สามารถแก้ไขได้ใน ASP หรือไม่?
คำตอบ: เปลี่ยนตาราง
ชื่อ
ALTER TABLE - แก้ไขไวยากรณ์แอตทริบิวต์ของตาราง
แก้ไขตาราง [ * ]
เพิ่มประเภทคอลัมน์ [COLUMN]
แก้ไขตาราง [ * ]
แก้ไขคอลัมน์ [ COLUMN ] { ตั้งค่าเริ่มต้น DROP DEFAULT }
แก้ไขตาราง [ * ]
เปลี่ยนชื่อคอลัมน์ [COLUMN] เป็นคอลัมน์ใหม่
เปลี่ยนตาราง
เปลี่ยนชื่อเป็นตารางใหม่
เปลี่ยนตาราง
เพิ่มคำจำกัดความข้อจำกัดของตาราง
อินพุต
โต๊ะ
ชื่อของตารางที่มีอยู่ซึ่งกำลังพยายามเปลี่ยน www.downcodes.com
คอลัมน์
ชื่อคอลัมน์ที่มีอยู่หรือใหม่
พิมพ์
ประเภทของคอลัมน์ใหม่
คอลัมน์ใหม่
ชื่อใหม่ของคอลัมน์ที่มีอยู่
ตารางใหม่
ชื่อใหม่ของตาราง
คำจำกัดความข้อจำกัดของตาราง
ข้อกำหนดข้อจำกัดใหม่สำหรับตาราง
เอาต์พุต
ของตาราง
เปลี่ยนแปลง
ข้อมูลที่ส่งคืนจากคอลัมน์หรือตารางที่เปลี่ยนชื่อ
ข้อผิดพลาด
ข้อมูลที่ส่งคืนหากไม่มีคอลัมน์หรือตาราง
อธิบาย
ALTER TABLE เปลี่ยนคำจำกัดความของตารางที่มีอยู่ แบบฟอร์ม ADD COLUMN จะเพิ่มคอลัมน์/ฟิลด์ใหม่ลงในตารางโดยใช้ไวยากรณ์เดียวกันกับ CREATE TABLE แบบฟอร์ม ALTER COLUMN ช่วยให้คุณสามารถตั้งค่าหรือลบค่าเริ่มต้น (ค่า) ออกจากคอลัมน์/ฟิลด์ได้ โปรดทราบว่าค่าเริ่มต้น (ค่า) ใช้ได้เฉพาะกับแถวที่แทรกใหม่เท่านั้น ส่วนคำสั่ง RENAME สามารถเปลี่ยนชื่อตารางหรือคอลัมน์/เขตข้อมูลได้โดยไม่กระทบต่อข้อมูลใดๆ ในตารางที่เกี่ยวข้อง ดังนั้นตารางหรือคอลัมน์/เขตข้อมูลจะยังคงมีขนาดและประเภทเดียวกันหลังจากดำเนินการคำสั่งนี้ ส่วนคำสั่งข้อกำหนดข้อจำกัดของตาราง ADD จะเพิ่มข้อจำกัดใหม่ให้กับตารางโดยใช้ไวยากรณ์เดียวกันกับ CREATE TABLE
หากคุณต้องการเปลี่ยนคุณสมบัติของตาราง คุณต้องเป็นเจ้าของตาราง
สังเกต
คีย์เวิร์ด COLUMN ซ้ำซ้อนและสามารถละเว้นได้
ถ้า "*" ตามหลังชื่อตาราง หมายความว่าคำสั่งจะทำงานบนตารางและตารางทั้งหมดที่มีระดับการสืบทอดต่ำกว่าตารางนี้ โดยค่าเริ่มต้น คุณลักษณะนี้ (การเปลี่ยนแปลง) จะไม่ถูกเพิ่มลงในตารางลูกใดๆ หรือแก้ไขใดๆ ชื่อสัมพัทธ์ของตารางลูก สิ่งนี้ควรทำเสมอเมื่อเพิ่มหรือแก้ไขแอตทริบิวต์ของตารางหลัก มิฉะนั้น แบบสอบถามดังต่อไปนี้ที่ระดับการสืบทอด
SELECT NewColumn FROM SuperClass*
จะไม่ทำงานเนื่องจากตารางลูกจะมีแอตทริบิวต์น้อยกว่าตารางหลักหนึ่งรายการ
ในการใช้งานปัจจุบัน ส่วนคำสั่งเริ่มต้น (ค่า) และข้อจำกัดสำหรับคอลัมน์/ฟิลด์ใหม่จะถูกละเว้น คุณสามารถตั้งค่าเริ่มต้น (ค่า) ในภายหลังได้โดยใช้รูปแบบ SET DEFAULT ของ ALTER TABLE (คุณยังต้องใช้ UPDATE เพื่ออัปเดตแถวที่มีอยู่ให้เป็นค่าเริ่มต้น)
ในการใช้งานปัจจุบัน สามารถเพิ่มได้เฉพาะข้อจำกัด FOREIGN KEY ลงในตารางเท่านั้น หากต้องการสร้างหรือลบข้อจำกัดเฉพาะ ให้สร้างดัชนีเฉพาะ (ดู CREATE INDEX) หากต้องการเพิ่มข้อจำกัดในการตรวจสอบ คุณต้องสร้างและโหลดตารางใหม่โดยใช้พารามิเตอร์อื่นๆ ของคำสั่ง CREATE TABLE
หากต้องการแก้ไขโครงสร้างของตาราง คุณต้องเป็นเจ้าของตาราง ไม่อนุญาตให้เปลี่ยนส่วนใดส่วนหนึ่งของโครงสร้างตารางระบบ คู่มือผู้ใช้ PostgreSQL มีข้อมูลเพิ่มเติมเกี่ยวกับการสืบทอด
โปรดดูส่วนสร้างตารางสำหรับคำอธิบายของพารามิเตอร์ที่ถูกต้อง
การใช้งาน เพิ่มคอลัมน์ VARCHAR ลงในตาราง:
ผู้จัดจำหน่าย ALTER TABLE เพิ่มที่อยู่ COLUMN VARCHAR (30);
เปลี่ยนชื่อคอลัมน์ที่มีอยู่:
ผู้จัดจำหน่าย ALTER TABLE RENAME COLUMN ที่อยู่ไปยังเมือง;
เปลี่ยนชื่อตารางที่มีอยู่:
ผู้จัดจำหน่าย ALTER TABLE เปลี่ยนชื่อเป็นซัพพลายเออร์
เพิ่มข้อจำกัดคีย์ต่างประเทศลงในตาราง:
ผู้จัดจำหน่าย ALTER TABLE เพิ่มข้อ จำกัด distfk FOREIGN KEY (ที่อยู่) ที่อยู่อ้างอิง (ที่อยู่) MATCH FULL
ความเข้ากันได้
แบบฟอร์มคอลัมน์ SQL92ADD เข้ากันได้ ยกเว้นค่าเริ่มต้น (ค่า) และข้อจำกัดที่กล่าวถึงข้างต้น แบบฟอร์ม ALTER COLUMN เข้ากันได้อย่างสมบูรณ์
SQL92 ประกาศฟังก์ชันเพิ่มเติมบางอย่างสำหรับ ALTER TABLE ที่ Postgres ไม่สนับสนุนโดยตรงในขณะนี้:
ALTER TABLE table DROP CONSTRAINT constraint { RESTRICT | CASCADE }
เพิ่มหรือลบข้อจำกัดของตาราง (เช่น ข้อจำกัดในการตรวจสอบ ข้อจำกัดเฉพาะ หรือข้อจำกัดของคีย์นอก) หากต้องการสร้างหรือปล่อยข้อจำกัดเฉพาะ และสร้างหรือปล่อยดัชนีเฉพาะตามลำดับ และเพื่อแก้ไขข้อจำกัดประเภทอื่นๆ คุณจะต้องสร้างและโหลดตารางใหม่โดยใช้พารามิเตอร์อื่นๆ ของคำสั่ง CREATE TABLE
ตัวอย่างเช่น หากต้องการลบข้อจำกัดใดๆ เกี่ยวกับผู้จัดจำหน่ายตาราง:
CREATE TABLE temp AS SELECT * FROM distributions;
ผู้จัดจำหน่าย DROP TABLE;
สร้างผู้จัดจำหน่ายตาราง AS SELECT * FROM temp;
วางอุณหภูมิตาราง;
แก้ไขตารางตาราง DROP [ COLUMN ] คอลัมน์ { จำกัด CASCADE }
ก่อนหน้านี้ หากต้องการลบคอลัมน์ที่มีอยู่ ต้องสร้างตารางใหม่และโหลดซ้ำ:
สร้างตารางชั่วคราวตามที่ SELECT ทำ เมืองจากผู้จัดจำหน่าย
ผู้จัดจำหน่าย DROP TABLE;
สร้างผู้จัดจำหน่ายตาราง (
ทำ DECIMAL (3) ค่าเริ่มต้น 1
ชื่อ VARCHAR (40) ไม่เป็นโมฆะ
-
INSERT INTO ผู้จัดจำหน่าย SELECT * FROM temp;
วางอุณหภูมิตาราง;
การเปลี่ยนชื่อคอลัมน์/ฟิลด์และตารางเป็นส่วนขยาย PostgreSQL SQL92 ไม่ได้จัดเตรียมสิ่งเหล่านี้ไว้