啪啪拉拉噼里啪啦

          初學者天堂資料匯集

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            16 隨筆 :: 73 文章 :: 16 評論 :: 0 Trackbacks
          sql 其它命令
          作者:unknown 更新時間:2005-03-17  
           


              4.7.1 BACKUP
          BACKUP 命令用于將數(shù)據(jù)庫內(nèi)容或其事務(wù)處理日志備份到存儲介質(zhì)上(軟盤、硬盤、磁帶)。等SQL Server 7.0 以前的版本用的是DUMP 命令來執(zhí)行此功能,從SQL Server 2000起,不再使用DUMP 命令。關(guān)于BACKUP 命令的詳情請參見“數(shù)據(jù)備份與恢復”章節(jié)。
              4.7.2 CHECKPOINT
          語法如下:
          CHECKPOINT
          CHECKPOINT 命令用于將當前工作的數(shù)據(jù)庫中被更改過的數(shù)據(jù)頁data page 或日志頁(log page)從數(shù)據(jù)緩沖器(data buffer cache)中強制寫入硬盤。
              4.7.3 DBCC
          DBCC Database Base Consistency Checker,數(shù)據(jù)庫一致性檢查程序)命令用于驗證數(shù)據(jù)庫完整性、查找錯誤、分析系統(tǒng)使用情況等。
          DBCC 命令后必須加上子命令,系統(tǒng)才知道要做什么。如DBCC CHECKALLOC 命令檢查目前數(shù)據(jù)庫內(nèi)所有數(shù)據(jù)頁的分配和使用情況。
          關(guān)于DBCC 命令的詳情,請參見附錄。

              4.7.4 DECLARE
          語法如下:
          DECLARE {{ @local_variable data_type }
          | { @cursor_variable_name CURSOR }
          | { table_type_definition }
          } [,...n]]
          DECLARE 命令用于聲明一個或多個局部變量、游標變量或表變量。在用DECLARE命令聲明之后,所有的變量都被賦予初值NULL。需要用SELECT 或SET命令來給變量賦值。變量類型可為系統(tǒng)定義的或用戶定義的類型,但不能為TEXT、NTEXT、IMAGE類型。CURSOR 指名變量是局部的游標變量。
          例4-16
          declare @x float @y datetime
          select @x = pi @y = getdate
          print @x
          print @y
          運行結(jié)果如下:
          3.14159
          Jun 17 2000 4:32PM
          注意:如果變量為字符型,那么在data_type表達中應(yīng)指明
          其最大長度,否則系統(tǒng)認為其長度為1。
          例4-17
          declare @x char @y char 10
          select @x = '123' @y = 'data_type'
          print @x
          print @y
          運行結(jié)果如下
          1
          data_type

              4.7.5 EXECUTE
          EXECUTE 命令用來執(zhí)行存儲過程,其具體用法請參見“存儲過程”章節(jié)。 
               4.7.6 KILL
          KILL 命令用于終止某一過程的執(zhí)行,其具體用法請參見“存儲過程”章節(jié)。
              4.7.7 PRINT
          語法如下:
          PRINT 'any ASCII text' | @local_variable | @@FUNCTION | string_expression
          PRINT 命令向客戶端返回一個用戶自定義的信息,即顯示一個字符串(最長為255個字符)、局部變量或全局變量。如果變量值不是字符串的話,必須先用數(shù)據(jù)類型轉(zhuǎn)換函數(shù)CONVERT(),將其轉(zhuǎn)換為字符串。其中,string_expression 是可返回一個字符串的表達式。表達式的長度可以超過8000 個字符,但超過8000 的字符將不會顯示。
          例4-18:
          declare @x char 10 @y char 10
          select @x = 'SQL' @y = 'Server'
          print '科技'
          print @x + @y

          運行結(jié)果如下:
          科技
          SQL Server

             4.7.8 RAISERROR
          RAISERROR 命令用于在SQL Server 系統(tǒng)返回錯誤信息時,同時返回用戶指定的信息。其具體用法請參見“存儲過程”章節(jié)。
              4.7.9 READTEXT
          READTEXT 命令語法如下
          READTEXT {table.column text_pointer offset size} [HOLDLOCK]
          READTEXT 命令用于從數(shù)據(jù)類型為TEXT、NTEXT 或IMAGE 的列中讀取數(shù)據(jù)。命令從偏移位置offset+1 個字符起讀取size 個字符,如果size 為0, 則會讀取4KB 的數(shù)據(jù)。其中text_pointer 是指向存儲文本的第一個數(shù)據(jù)庫頁的指針,它可以用TEXTPTR()函數(shù)來獲取。關(guān)于TEXTPTR ()函數(shù)的使用請參見“4.8.7 TEXT 和IMAGE 函數(shù)”。HOLDLOCK 選項用于鎖定所讀取的數(shù)據(jù)直到傳輸結(jié)束,這段時間內(nèi),其它用戶只能讀取數(shù)據(jù),不能更改數(shù)據(jù)。
          例4-19:
          use pangu
          declare @t_pointer varbinary (16)
          select @t_pointer = textptr (d_intro)
          from department
          where d_name = '技術(shù)部'
          readtext department.d_intro @t_pointer 0 42
          運行結(jié)果如下:
          d_intro
          --------------------------------------------------------------------
          進行技術(shù)研究與開發(fā),提供最新的技術(shù)動態(tài)信息
          (1 row (s) affected)

          注意:如果數(shù)據(jù)列為漢字,則offset值應(yīng)取o或其它偶數(shù),如果用奇數(shù),則會出現(xiàn)亂碼

             4.7.10 RESTORE
          RESTORE 命令用來將數(shù)據(jù)庫或其事務(wù)處理日志備份文件由存儲介質(zhì)回存到SQL Server系統(tǒng)中。SQL Server 7.0 以前的版本用的是LOAD命令來執(zhí)行此功能,從SQL Server 2000起,不再使用LOAD 命令。關(guān)于RESTORE 命令的詳情,請參見“數(shù)據(jù)備份與恢復”章節(jié)
              4.7.11 SELECT
          SELECT 命令可用于給變量賦值其語法如下:
          SELECT {@local_variable = expression } [ ...n]
          SELECT 命令可以一次給多個變量賦值。當表達式expression 為列名時,SELECT 命令可利用其查詢功能一次返回多個值,變量中保存的是其返回的最后一個值。如果SELECT命令沒有返回值,則變量值仍為其原來的值。當表達式expression 是一個子查詢時,如果子查詢沒有返回值則變量被設(shè)為NULL。
          例4-20:
          use pangu
          declare @x char (30)
          select @x = 'CPU'
          select @x = d_name
          from department
          where dept_id = 9999
          select @x
          運行結(jié)果如下:
          -----------------------
          CPU
          例4-21:
          use pangu
          declare @x char 30
          select @x = 'Main Board'
          select @x = (select d_name
          from department
          where dept_id=9999)
          select @x
          運行結(jié)果如下
          -----------------------
          NULL

          4.7.12 SET
          SET 命令有兩種用法:
          1 用于給局部變量賦值
          其語法如下:
          SET { {@local_variable = expression} | { @cursor_variable =
          { @cursor_variable cursor_name
          | { CURSOR
          [FORWARD_ONLY | SCROLL]
          [STATIC | KEYSET | DYNAMIC | FAST_FORWARD]
          [READ_ONLY | SCROLL_LOCKS | OPTIMISTIC]
          [TYPE_WARNING]
          FOR select_statement
          [FOR {READ ONLY
          | UPDATE [OF column_name [ ...n]] } ] } } } }
          其中的CURSOR 等參數(shù)將在“游標”一章中講述。
          在用DECLARE 命令聲明之后,所有的變量都被賦予初值NULL。 需要用SET 命令來給變量賦值。但與SELECT 命令不同的是,SET 命令一次只能給一個變量賦值。不過由于SET 命令功能更強,且更嚴密,因此,SQL Server 推薦使用SET 命令來給變量賦值。

          例4-22
          declare @x char (30)
          set @x = 'This is a SET command.'
          select @x
          運行結(jié)果如下
          ------------------------------
          This is a SET command.
          例4-23
          use pangu
          declare @department_num int @x char (10)
          set @department_num = select count (*)
          from department)
          set @x = '部門數(shù)目'
          print @x
          select @department_num
          運行結(jié)果如下
          部門數(shù)目
          -----------
          7

          2 用于設(shè)定用戶執(zhí)行SQL 命令,時SQL Server 的處理選項設(shè)定
          有以下幾種設(shè)定方式:

          • SET 選項ON
          • SET 選項OFF
          • SET 選項值

          關(guān)于此類SET 命令的詳情,請參見附錄。
          語法如下
          SHUTDOWN [WITH NOWAIT]
          SHUTDOWN 命令用于停止SQL Server 的執(zhí)行,當使用NOWAIT 參數(shù)時,SHUTDOWN命令立即停止SQL Server,在終止所有的用戶過程并對每一現(xiàn)行的事務(wù)發(fā)生一個回滾后,退出SQL Server。當沒有用NOWAIT 參數(shù)時,SHUTDOWN 命令將按以下步驟執(zhí)行:
          (1) 終止任何用戶登錄SQL Server。
          (2) 等待尚未完成的Transact-SQL 命令或存儲過程執(zhí)行完畢。
          (3) 在每個數(shù)據(jù)庫中執(zhí)行CHECKPOINT 命令
          (4) 停止SQL Server 的執(zhí)行
          例4-24
          shutdown with nowait
          運行結(jié)果如下:
          ------------------------------
          Changed language setting to us_english.
          Server shut down by request.
          SQL Server is terminating this process.
          停止SQL Server 的執(zhí)行的方法還有好幾種,我們將在“企業(yè)管理器EnterpriseManager” 章節(jié)中介紹。

              4.7.14 WRITETEXT
          語法如下:
          WRITETEXT {table.column text_pointer} [WITH LOG] {data}
          WRITETEXT 命令用于向數(shù)據(jù)類型為TEXT、 NTEXT 或IMAGE 的列中讀取數(shù)據(jù)。其中text_pointer 是指向存儲文本的第一個數(shù)據(jù)庫頁的指針,它可以用TEXTPTR()來獲取。關(guān)于TEXTPTR 函數(shù)的使用請參見“4.8.7 TEXT 和IMAGE 函數(shù)”。WOTH LOG選項用于記錄所寫入的數(shù)據(jù)。data 可為文字或變量,其最大長度為120KB。注意:WRITETEXT命令不能作用于視圖。

          推薦使用UPDATETEXT 命令來修改TEXT、NTEXT 和IMAGE 類型的數(shù)據(jù)。因為WRITETEXT 命令將數(shù)據(jù)列的數(shù)據(jù)完全替換,而UPDATETEXT 命令可以只更改數(shù)據(jù)列的一部分。關(guān)于UPDATETEXT 命令的使用將在“數(shù)據(jù)庫更新”章節(jié)中講述。
          例4-25
          declare @t_pointer binary (16)
          use pangu
          select @t_pointer = textptr d_intro
          from department
          where d_name = '技術(shù)部'
          writetext department.d_intro @t_pointer '進行技術(shù)研究與開發(fā)提供最新的技術(shù)動態(tài)信息'

              4.7.15 USE
          語法如下
          USE {databasename}
          USE 命令用于改變當前使用的數(shù)據(jù)庫為指定的數(shù)據(jù)庫。用戶必須是目標數(shù)據(jù)庫的用戶成員或目標數(shù)據(jù)庫建有GUEST 用戶賬號時,使用USE 命令才能成功切換到目標數(shù)據(jù)庫。

           
          posted on 2005-04-07 14:01 噼里啪啦的世界 閱讀(182) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫
          主站蜘蛛池模板: 娄底市| 民乐县| 富宁县| 视频| 南召县| 朔州市| 会东县| 西藏| 泰来县| 淮滨县| 安阳市| 百色市| 山丹县| 同仁县| 丹巴县| 柳江县| 聊城市| 额济纳旗| 青州市| 阿尔山市| 印江| 雅安市| 兴国县| 秦皇岛市| 泸水县| 柘荣县| 嘉义市| 沂源县| 米脂县| 阜宁县| 兴文县| 库车县| 巴东县| 平塘县| 大埔区| 德惠市| 西乌珠穆沁旗| 柞水县| 梁河县| 夏河县| 商洛市|