啪啪拉拉噼里啪啦

          初學者天堂資料匯集

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


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

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

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

          運行結果如下:
          科技
          SQL Server

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

          注意:如果數據列為漢字,則offset值應取o或其它偶數,如果用奇數,則會出現亂碼

             4.7.10 RESTORE
          RESTORE 命令用來將數據庫或其事務處理日志備份文件由存儲介質回存到SQL Server系統中。SQL Server 7.0 以前的版本用的是LOAD命令來執行此功能,從SQL Server 2000起,不再使用LOAD 命令。關于RESTORE 命令的詳情,請參見“數據備份與恢復”章節
              4.7.11 SELECT
          SELECT 命令可用于給變量賦值其語法如下:
          SELECT {@local_variable = expression } [ ...n]
          SELECT 命令可以一次給多個變量賦值。當表達式expression 為列名時,SELECT 命令可利用其查詢功能一次返回多個值,變量中保存的是其返回的最后一個值。如果SELECT命令沒有返回值,則變量值仍為其原來的值。當表達式expression 是一個子查詢時,如果子查詢沒有返回值則變量被設為NULL。
          例4-20:
          use pangu
          declare @x char (30)
          select @x = 'CPU'
          select @x = d_name
          from department
          where dept_id = 9999
          select @x
          運行結果如下:
          -----------------------
          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
          運行結果如下
          -----------------------
          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 等參數將在“游標”一章中講述。
          在用DECLARE 命令聲明之后,所有的變量都被賦予初值NULL。 需要用SET 命令來給變量賦值。但與SELECT 命令不同的是,SET 命令一次只能給一個變量賦值。不過由于SET 命令功能更強,且更嚴密,因此,SQL Server 推薦使用SET 命令來給變量賦值。

          例4-22
          declare @x char (30)
          set @x = 'This is a SET command.'
          select @x
          運行結果如下
          ------------------------------
          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 = '部門數目'
          print @x
          select @department_num
          運行結果如下
          部門數目
          -----------
          7

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

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

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

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

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

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

           
          posted on 2005-04-07 14:01 噼里啪啦的世界 閱讀(182) 評論(0)  編輯  收藏 所屬分類: 數據庫
          主站蜘蛛池模板: 沐川县| 开原市| 襄垣县| 泸定县| 安义县| 闻喜县| 扎囊县| 民丰县| 肇源县| 蒙自县| 苏尼特左旗| 黄骅市| 云阳县| 黄平县| 双辽市| 东台市| 郁南县| 嵩明县| 旺苍县| 白玉县| 万源市| 芒康县| 平远县| 郓城县| 泗水县| 友谊县| 乌鲁木齐市| 凉山| 姚安县| 桑植县| 瓦房店市| 潼关县| 醴陵市| 明星| 遂川县| 叶城县| 常山县| 县级市| 北宁市| 漯河市| 孟村|