使用SQLDDL創(chuàng)建、刪除表和關(guān)系

字號:

建立一個帶有自動編號數(shù)據(jù)類型主鍵(PrimaryKey)字段Id和一個文本數(shù)據(jù)類型長度為10的字段MyText的表,可以在查詢的數(shù)據(jù)定義查詢窗口輸入下列語句:
    注:在下列查詢舉例中,每行最后的下劃線(_)是用來續(xù)行的。在創(chuàng)建查詢時,請移除。
    CREATE TABLE Table1 (Id COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, _
    MyText TEXT (10))
    不需要主鍵(PrimaryKey)也能通過運行下面的查詢語句創(chuàng)建關(guān)系中另一側(cè)的外鍵(Foreign Key)。該查詢創(chuàng)建一個長整數(shù)類型字段Id和一個文本類型字段MyText(默認(rèn)長度為255)的表。
    CREATE TABLE Table2 (Id LONG, MyText TEXT)
    在創(chuàng)建這兩個表后,運行下面的查詢在Table1和Table2之間來創(chuàng)建一個一對多的關(guān)系,其中Table1為關(guān)系的主側(cè)。
    ALTER TABLE Table2 ADD CONSTRAINT Relation1 FOREIGN KEY ([Id]) _
    REFERENCES Table1 ([Id])
    要刪除這兩個表之間關(guān)系,可以使用下面的查詢:
    ALTER TABLE Table2 DROP CONSTRAINT Relation1
    要刪除表Table1, 可以運行下面的查詢:
    DROP TABLE Table1
    要刪除表Table2, 可以運行下面的查詢:
    DROP TABLE Table2
    除了通過查詢來運行這些語句名,還可以將DDL語句以代碼的形式在RunSQL中運行,也可以通過下面的過程來模擬。
    Sub ExecuteSQLDDL (SQLString As String)
    Dim db As Database, qd As QueryDef
    Set db = DBEngine.Workspaces(0).Databases(0)
    Set qd = db.CreateQueryDef("")
    qd.SQL = SQLString
    qd.Execute
    db.Close
    End Sub
    調(diào)用這個過程,使用下面的語法:
    ExecuteSQLDDL "DROP TABLE Table1"