1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          SQL命令 drop TABLE

          來源:互聯網轉載 時間:2024-01-29 07:49:40

          SQL命令 drop TABLE

          刪除表及其數據(可選)。

          大綱

          drop TABLE table      [RESTRICT | CASCADE] [%DELDATA | %NODELDATA]

          參數

          • table - 要刪除的表的名稱。 表名可以是限定的(schema.table),也可以是非限定的(table)。 非限定表名接受默認模式名。 沒有使用架構搜索路徑值。
          • RESTRICT ,CASCADE - 可選-限制僅允許刪除沒有依賴視圖或完整性約束的表。如果未指定關鍵字,則默認設置為RESTRITION。CASCADE允許刪除具有依賴視圖或完整性約束的表;作為表刪除的一部分,任何引用視圖或完整性約束也將被刪除。外鍵約束不支持CASCADE關鍵字選項。
          • %DELDATA,%NODELDATA - 可選-這些關鍵字指定在刪除表時是否刪除與表關聯的數據。默認情況下,刪除表格數據。

          描述

          drop TABLE命令刪除一個表及其對應的持久化類定義。如果該表是其架構中的最后一項,則刪除該表也會刪除該架構及其相應的持久化類包。

          默認情況下,drop TABLE同時刪除表定義和表數據(如果存在)。%NODELDATA關鍵字允許指定刪除表定義,但不能指定刪除表的數據。

          drop TABLE刪除與該表關聯的所有索引和觸發器。

          要刪除表格,必須滿足以下條件:

          • 該表必須存在于當前命名空間中。嘗試刪除不存在的表會生成SQLCODE-30錯誤。
          • 表定義必須是可修改的。如果投影表的類沒有定義[DdlAllowed],則嘗試刪除該表會生成SQLCODE-300錯誤。
          • 該表不能被另一個并發進程鎖定。如果表被鎖定,drop TABLE將無限期等待鎖被釋放。如果可能出現鎖爭用,那么在發出drop TABLE之前以獨占模式鎖定表是很重要的。
          • 該表必須沒有關聯的視圖,或者drop TABLE必須指定CASCADE關鍵字。嘗試在不級聯的情況下刪除具有關聯視圖的表會生成SQLCODE-321錯誤。
          • 必須具有必要的權限才能刪除該表。嘗試在沒有必要權限的情況下刪除表會生成SQLCODE-99錯誤。
          • 即使相應的類被定義為已部署的類,也可以刪除表。
          • 如果投影表的持久類具有派生類(子類),則不能刪除該表。嘗試刪除會使子類成為孤立的超類時,會生成SQLCODE-300錯誤,并顯示以下消息:Class 'MySuperClass' has derived classes and therefore cannot be dropped via DDL.

          可以使用$SYSTEM.SQL.Schema.DropTable()方法刪除當前名稱空間中的表??梢灾付⊿QL表名。與drop TABLE不同,此方法可以刪除未使用[DdlAllowed]定義的表。第二個參數指定是否也應該刪除表數據;默認情況下,不刪除數據。

            DO $SYSTEM.SQL.Schema.DropTable("Sample.MyTable",1,.SQLCODE,.%msg)  IF SQLCODE '= 0 {WRITE "SQLCODE ",SQLCODE," error: ",%msg}

          可以使用$SYSTEM.OBJ.delete()方法刪除當前名稱空間中的一個或多個表。必須指定投影表的永久類名(而不是SQL表名)??梢允褂猛ㄅ浞付ǘ鄠€類名。第二個參數指定是否也應該刪除表數據;默認情況下,不刪除數據。

          權限

          drop TABLE命令是特權操作。用戶必須具有%DROP_TABLE管理權限才能執行drop TABLE。否則將導致SQLCODE-99錯誤,因為%msg用戶沒有%DROP_TABLE權限。如果擁有適當的授予權限,則可以使用grant命令分配%DROP_TABLE權限。

          即使drop TABLE操作同時刪除了表和表數據,用戶也不必具有指定表的delete OBJECT權限。

          在嵌入式SQL中,可以使用$SYSTEM.Security.Login()方法以具有適當權限的用戶身份登錄:

             DO $SYSTEM.Security.Login("_SYSTEM","SYS")   &sql(      )

          必須具有%Service_Login:Use權限才能調用$SYSTEM.Security.Login方法。

          drop TABLE不能用于通過定義持久類創建的表,除非表類定義包括[DdlAllowed]。否則,操作將失敗,并出現SQLCODE-300錯誤,同時未為類‘Schema.tablename’啟用%msg DDL。

          Existing Object Privileges

          刪除表不會刪除該表的對象權限。例如,授予用戶在該表上插入、更新或刪除數據的權限。

          • 如果刪除一個表,然后創建另一個同名的表,則用戶和角色對新表的權限將與對舊表的權限相同。
          • 一旦表被刪除,就不可能撤銷該表的對象權限。

          由于這些原因,通常建議在刪除表之前使用revoke命令撤消表中的對象權限。

          包含數據的表

          默認情況下,drop TABLE刪除表定義和表數據。此表數據刪除是原子操作;如果drop TABLE遇到無法刪除的數據(例如,具有引用約束的行),則任何已執行的數據刪除都會自動回滾,結果是不會刪除表數據。

          可以使用$SYSTEM.SQL.Util.SetOption()方法DDLDropTabDelData選項設置表數據刪除的系統范圍默認值。要確定當前設置,請調用$SYSTEM.SQL.CurrentSettings(),顯示Does DDL drop TABLE delete the table's data? setting.

          默認值為1(“是”)。這是此選項的推薦設置。如果希望drop TABLE在刪除表定義時不刪除表數據,請將此選項設置為0(“否”)。

          可以在每個表的基礎上覆蓋數據刪除。刪除表時,可以使用%NODELDATA選項指定drop TABLE,以防止自動刪除表數據。如果系統范圍的默認值設置為不刪除表數據,則可以通過使用%DELDATA選項指定drop TABLE來逐個表刪除數據。

          在大多數情況下,drop TABLE使用高效的終止范圍操作自動刪除表的數據。以下情況阻止使用KILL EXTEND:表有引用它的外鍵;投影表的類是持久類的子類;類不使用默認存儲;有ForEach = "row/object"觸發器;有引用非默認流字段全局位置的流字段。如果其中任何一個適用,drop TABLE將使用效率較低的delete RECORD操作刪除表的數據。

          可以使用truncate TABLE命令刪除表的數據,而不刪除表定義。

          鎖應用

          drop TABLE語句獲取表的獨占表級鎖。這可以防止其他進程在表刪除過程中修改表定義或表數據。這個表級鎖足以刪除表定義和表數據;drop TABLE不會獲得表數據的每一行的鎖。此鎖在drop TABLE操作結束時自動釋放。

          外鍵約束

          默認情況下,如果在引用嘗試刪除的表的另一個表上定義了任何外鍵約束,則不能刪除該表。在刪除它們引用的表之前,必須刪除所有引用的外鍵約束。在嘗試drop TABLE操作之前未刪除這些外鍵約束會導致SQLCODE-320錯誤。

          此默認行為與限制關鍵字選項一致。外鍵約束不支持CASCADE關鍵字選項。

          要更改此默認外鍵約束行為,請參考SET OPTION命令的COMPILEMODE=NOCHECK選項。

          相關查詢

          刪除表會自動清除所有相關的高速緩存查詢,并清除%SYS.PTools.StatsSQL生成的查詢信息。刪除表會自動清除任何相關查詢的所有SQL運行時統計信息(SQL Stats)信息。

          不存在的表

          要確定當前命名空間中是否存在指定表,請使用$SYSTEM.SQL.Schema.TableExists()方法。

          默認情況下,如果嘗試刪除不存在的表,drop TABLE會發出SQLCODE-30錯誤。這是推薦的設置。要確定當前設置,請調用$SYSTEM.SQL.CurrentSettings(),它顯示允許DDL刪除不存在的表或視圖設置。默認值為0(“否”)。如果此選項設置為1(“是”),則不存在的表的drop TABLE不執行任何操作,也不會發出錯誤消息。

          在管理門戶、系統管理、配置、SQL和對象設置中,通過選中忽略冗余DDL語句復選框,可以在系統范圍內設置此選項(以及其他類似的創建、更改和刪除選項)。

          示例

          下面的嵌入式SQL示例創建名為SQLUser.MyEmployees的表,然后將其刪除。此示例指定在刪除該表時不刪除與該表關聯的任何數據:

          ClassMethod DropTable(){    &sql(CREATE TABLE SQLUser.MyEmployees         (            NAMELAST     char (30) NOT NULL,            NAMEFIRST    char (30) NOT NULL,            STARTDATE    TIMESTAMP,            SALARY       MONEY        )    )    w !,"創建表"    /*    &sql(SQL code populating SQLUser.MyEmployees table)    &sql(SQL code using SQLUser.MyEmployees table)    */    n SQLCODE,%msg    &sql(drop TABLE SQLUser.MyEmployees %NODELDATA)    if SQLCODE = 0 {        w !,"表已刪除"    } else {        w !,"SQLCODE=",SQLCODE,": ",%msg     }}
          標簽:droptable-

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          1.開放 "設置 "。2.單擊 "普通和普通選項。3.開放 "無障礙和。4.在中向下滾動無障礙和找到 "字幕和封閉字幕 "選項并打開它。5.點擊 "風格 "。6.然后點擊 "創造新風格 "。找到手機里的設置程序,點開。2.在出現的設置菜單中,單擊 "普通和普通選項。3.打開 "無障礙和選項。4.在彈出菜單中,我們可以看到 "字幕和隱藏字幕。5.在出現的樣式菜單中,單擊 "創造新風格 "。用戶可以使...

          當然是北京可以養金毛嗎?。金毛有以下優點,適合飼養。1.金毛是一種溫和的犬種。它是三種非攻擊性犬種之一。它很溫柔,對人類很友好,喜歡和人玩,平時也很溫柔。(但是唐 我不認為它 真的沒有攻擊性。)2,金毛顏值高,小時候特別軟萌,長大后很帥,笑起來有一種別扭的感覺,很有治愈力。3.金毛 s智商高。據說金毛 s的智商在狗界排第四,可見他很聰明。平時稍加訓練,金毛就能很快理解他的主人 s的話,學好他的技術...

          唐山衛視是幾頻道?唐山衛視是11頻道,各地區可能不一樣。唐山電視臺地址在哪?地址:廣達街1號,唐山工人醫院對面郵政編碼:06300唐山電視臺地址:唐山市光大街1號唐山有線廣播電視臺地址:唐山市印盒路附近唐山有線廣播電視臺地址:唐山市光大街1號唐山電視演播室地址:唐山市國防路唐山電視臺影視頻道廣告部地址:河北省唐山市光大街1號唐山有線電視臺大理路地址:唐山市大理路46號廣播電臺在唐山的頻率是多少?1...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>