sql server while, case,if..else … try catch ..對象

來源:互聯網
上載者:User

前面我們說了一下,預存程序和視圖,

下面我們來簡單的瞭解下資料庫中 while ,case ,if ..else 這幾個對象

1 while

while 是根據它接到bool值是true還是false 來執行重複操作的一個命令對象。

文法:

while 條件

begin

.....

end

樣本

DECLARE @start INT
set @start=1
WHILE @start<=10
BEGIN
 PRINT @start
 SET @start=@start+1
END

2 case

 case 根據一套邏輯返回一個特定的值,
DECLARE @value INT
SET @value=1
SELECT CASE @value
WHEN 1 THEN 'guanbi'
WHEN 2 THEN 'dakai'
END

上面這個例子返回的結果是,如

而下面這個case 語句返回則是,如

DECLARE @value INT
SET @value=1
SELECT CASE @value
WHEN 1  THEN '關閉'
WHEN 2 THEN '開啟'
END

 

大家會注意看到,如果 THEN 後面加的是中文 ,則返回的結果是“?” ,也許別的版本資料庫不會出現這種情況,我沒有試過,本人用的是sql server 2005 ,

3 if ...else

這個相對上面那兩個大家應該會陌生吧,如果條件,則執行該條件的sql 語句,反則執行下一個條件的sql 語句,下面我們還是拿一個簡單例子來說明這一點。

文法

if 條件

  要執行的語句

else

     要執行的語句

....

IF 4>1
 PRINT 'true'
ELSE
 PRINT 'false' 

執行結果是 true

複雜一點的,

DECLARE @i INT
SET @i=1
WHILE (@i<=(SELECT COUNT(*) FROM chengji))
BEGIN
 SELECT xingming
    ,fenshu
    ,CASE fenshu
       WHEN 100 THEN 'youxiu'
       WHEN 60 THEN 'hege'
       WHEN 30 THEN 'buhege'
     END
 FROM chengji
 SET @i=@i+1
END

 4 try   ... catch ...

樣本:

BEGIN TRY
  DECLARE @X INT
  -- Divide by zero to generate Error
  SET @X = 1/0
  PRINT 'Command after error in TRY block'
END TRY
BEGIN CATCH
  PRINT 'Error Detected'
END CATCH

 

到這裡,這幾個簡單的資料庫物件介紹完了,當然這些都是皮毛而已,雖然是這樣,但這也是基礎,再複雜的指令碼都是多個簡單指令碼的組成的,被稱為複合的簡單性,只要我們把這些最簡單一點點的積聚起來,我們也能像他們一樣,寫出令人另眼相看的sql 語句.                                                              

                                                                                                                                                                 初學者:小斌

 

 

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.