/* 這是一個 block 的註解 ,
說明在此
*/
-- 這是一行註解
DECLARE @name nvarchar(40) -- 區域變數以 @
為開頭
SET @name = '許景華'
-- 設定區域變數
SELECT @name = '咕咕'
-- 用 SELECT 也可拿來設定變數
SELECT
@name
-- 顯示區域變數的內容
SELECT @@CPU_BUSY -- @@CPU_BUSY 為一全域變數 , 全域變數常是系統變數
在語法的說明中 , 以 [ ] 括起來的表示可有可無 , 以 { } 表示必須存在 . statement_block 指的是像下列程式以 BEGIN ...... END 夾起來的碼
BEGIN
@kind_var = SELECT count(*) FROM 產品
PRINT '產品種類=' + @kind_var
END
Boolean_Expression
(1) IN
IF '主機板' IN ( SELECT 種類 FROM 產品 )
PRINT '產品的種類有主機板'
(2) IS NULL
IF ( SELECT 員工血型 FROM 員工 WHERE 員工姓名='許景華' ) IS NULL
PRINT '員工的血型未指定'
(3) ALL
IF 4000 < ALL ( SELECT 價格 FROM 產品 )
PRINT '所有的產品都很貴 , 超過 4000 元'
(4) ANY
IF 60 > ANY ( SELECT 分數 FROM 第一次小考 )
PRINT '有人不及格呦'
(5) EXIST
IF EXIST ( SELECT 種類 FROM 產品 WHERE 種類='主機板' )
PRINT '產品的種類有主機板'
(6) SOME
IF ... ELSE
語法 :
IF boolean_expression
{sql_statement | statement_block}
[ELSE
{sql_statement | statement_block}
]
IF ( SELECT count(種類) FROM 產品 ) > 10
BEGIN
PRINT '超過十種產品'
SELECT sum(價格) FROM 產品
END
ELSE
BEGIN
PRINT '不滿十種產品'
SELECT sum(價格) FROM 產品
END
WHILE
語法 :
WHILE boolean_expression
BEGIN
{sql_statement | statement_block}
[BREAK]
{sql_statement | statement_block}
[CONTINUE]
END
DECLARE @i int
SET @i=0
WHILE @i<10
BEGIN
SET @i = @i + 1
IF @i % 2 = 0
PRINT '偶數'
ELSE
CONTINUE
END
CASE
語法 :
CASE input_expression
WHEN when_expression THEN result_expression
[...n]
[ ELSE else_result_expression ]
END
DECLARE @i int , @answer nvarchar(10)
SET @i=2
SET @answer = CASE @i
WHEN 1 THEN 'one'
WHEN 2 THEN 'two'
END
PRINT @answer