自己整理的學習資料——DB2 V8資料庫基礎(十八)

rheet1978發表於2008-10-17

3.3.5   WITH表示式(公共表表示式)

WITH 公共表表名   AS

       SELECT   ….   AS 公共列名   FROM 表名),

         公共表表名1   AS

       SELECT   ….   AS 公共列名1   FROM 表名)

 

       SELECT 語句

比如:

WITH   a1 AS

 (select max(id) as aa1 from test ) 

   select id ,aa1 from test ,a1

3.3.6   CASE表示式

SELECT 語句中列列表中可以使用CASE表示式,類似oracle中的decode的方法(DECODE(條件,1,翻譯值1,2,翻譯值2,...n,翻譯值n,預設值)

 

 

 

SELECT id ,name ,

CASE

       WHEN integer(flag)=0 THEN ‘

       WHEN integer(flag)=1 THEN ‘

       ELSE  異常

END

       FROM TEST

或者

SELECT id ,name ,

CASE integer(flag)

       WHEN 0 THEN ‘

       WHEN 1 THEN ‘

       ELSE  異常

END

       FROM TEST

3.3.7   CAST表示式

CAST表示式用來轉換型別使用,比如:

SELECT  CAST ( current time as char(8))

 FROM  sysibm.sysdummy1

3.3.8   檢視一個sql語句執行需要的時間的命令

db2batch -d sample -f test.sql 其中sample為資料庫名稱, test.sql為一個檔案, 裡面有 select * from ...

3.3.9   value函式

The VALUE function returns the first argument that is not null.

用法:valueexpression1expression2,對一個表進行查詢 如為空值的時候就用第二個引數來替代,前後引數型別要一致。

3.3.10   取得一個表的行數

db2 select row_number()over()  from TEST

db2 select count(*) from test

 

3.4    DCL—資料控制語言

l         GRANT—授予使用者許可權

l         REVOKE—撤消使用者許可權

l         COMMIT—提交事務,可以使資料庫的修改永久化

l         ROLLBACK—回滾事務,消除上一個COMMIT命令後的所做的全部修改,使得資料庫的內容恢復到上一個COMMIT執行後的狀態.

 

DCL的許可權

  CONTROL許可權:如果使用者建立一個物件,則該使用者能完全訪問該物件.

  GRANT語句將許可權授予給使用者.

  REVOKE語句撤銷一個使用者的許可權.

 

3.4.1   GRANT

所有者或者管理員把訪問許可權賦給其他使用者

語法格式:

grant [all privileges|privileges,….] on tabname | viewname to [public|user,….]

3.4.2   REVOKE

取消某一使用者的某中訪問許可權

語法格式:

Revoke [all privileges|privileges,….] on tabname | viewname from [public|user,….]

注:不能取消例項級別的使用者的任何許可權,他們不是通過grant授權的,是通過組實現的許可權。

3.4.3   COMMIT

把事務中所做的修改永久化記錄到資料庫。

語法格式:

commit [work]

3.4.4   ROLLBACK

將上次提交以來所做的更改全部撤消。

語法格式:

Rollback [work]

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9524210/viewspace-471546/,如需轉載,請註明出處,否則將追究法律責任。

相關文章