熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

oracle--SQL 變量

2013-11-13 22:16:10  來源: Oracle 

  TransactSQL中可以使用兩種變量一種是局部變量(Local Variable)另外一種是全局變量(Global Variable)
  
   局部變量
  
  局部變量是用戶可自定義的變量它的作用范圍僅在程序內部在程序中通常用來儲存從表中查詢到的數據或當作程序執行過程中暫存變量使用局部變量必須以@開頭而且必須先用DECLARE命令說明後才可使用其說明形式如下
  
  DECLARE @變量名 變量類型 [@變量名 變量類型…]
  
  其中變量類型可以是SQL Server 支持的所有數據類型也可以是用戶自定義的數據類型DECLARE命令的詳細用法請參見其它命令
  
  在TransactSQL中不能像在一般的程序語言中一樣使用變量=變量值來給變量賦值必須使用SELECT或SET命令來設定變量的值其語法如下
  
  SELECT@局部變量=變量值
  
  SET @局部變量=變量值
  
  例聲明一個長度為 個字符的變量id並賦值
  
  declare@id char(
  select@id=
  
  注意可以在Select命令查詢數據時在Select命令中直接將列值賦給變量:查詢編號為的員工和工資將其分別賦予變量name和wage
  
  例
  
  use pangu
  declare@name char()@wage money
  select@name=e_name@wage=e_wage
  from employee
  where emp_id=
  select@name as e_name@wage as e_wage
  
  運行結果如下
  
  e_name e_wage
  
  張三
  
  注意數據庫語言和編程語言有一些關鍵字關鍵字是在某一一樣下能夠促使某一操作發生的字符組合為避免沖突和產生錯誤在命令表變量以及其它對象時應避免使用關鍵字有關SQL Server的關鍵字請參見附錄
  
   全局變量
  
  全局變量是SQL Server系統內部使用的變量其作用范圍並不局限於某一程序而是任何程序均可隨時調用全局變量通常存儲一些SQL Server的配置設定值和效能統計數據用戶可在程序中用全局變量來測試系統的設定值或TransactSQL命令執行後的狀態值有關SQL Server 全局變量的詳細情況請參見附錄
  
  注意全局變量不是由用戶的程序定義的它們是在服務器級定應義的只能使用預先說明及定義的變局變量引用全局變量時必須以@@開頭局部變量的名稱不能與全局變量的名稱相同否則會在應用中出錯
From:http://tw.wingwit.com/Article/program/Oracle/201311/18640.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.