〜〜 C++講座・JAVA講座・VB講座・ネット収入講座・アフィリエイト講座・メール受信講座・株講座・投資信託講座・お小遣い講座 〜〜

   MENU   
1. はじめに
2. RDBMSの役割
3. テーブル構造
4. データ定義文(DDL)
5. データ制御文(DCL)
6. データ操作文(DML)
7. 正規化の概要
8. 命名規約
9. コメント構文
10. 比較演算子


 得@スキルアップ塾.com > SQL基本講座 > 5. データ制御文(DCL)

   データ制御文(DCL)


■データ制御文(DCL)
 
 ・データ制御文には、データの変更を確定したり、キャンセルなどを定義します

1. GRANT
2. REVOKE
3. BEGIN
4. COMMIT
5. ROLLBACK
6. LOCK
7. SET TRANSACTION


■GRANT

 ・特定のデータベース利用者に、特定の作業を行う権限を与える


GRANT
権限名 ON オブジェクト名 
TO "ユーザ名"または"public"
With GRANT OPTION(省略可)


【対象権限名】
キー名 説明
SELECT データの参照
INSERT データの追加
UPDATE データの変更・修正
DELETE データの削除
REFERENCES 他テーブルの外部キーを作成
ALL すべての操作


【例】

// ユーザBにユーザAが作成したテーブルのデータに対して参照権限を与える

GRANT
SELECT ON A_user.table TO B_user

// ユーザBにユーザAが作成したテーブルのデータに対して更新・削除の権限を与える
GRANT
UPDATE, DELETE ON A_user.table TO B_user

// ユーザBにユーザAが作成したテーブルのデータに対して更新・削除の権限を与え且つ
// ユーザBがユーザCに同等の権限を与えられるようにする

GRANT
UPDATE, DELETE ON A_user.table TO B_user WITH GRANT OPTION


一覧へ

■REVOKE

 ・特定のデータベース利用者から、アクセス権限を取り消します


REVOKE
 権限 ON テーブル FROM ユーザ名;



【例】

// publicに与えたtableテーブルに対する挿入権限を取り消す
REVOKE
 INSERT ON table FROM PUBLIC;
// a_userに与えたtableテーブルに対する全ての権限を取り消す
REVOKE
 
ALL PRIVILEGES ON table FROM a_user;



一覧へ


■BEGIN

 ・トランザクションブロックを初期化します。つまり、BEGINコマンドの後の分は、
  COMMITまたはROLLBACKが与えられるまで、単一のトランザクションの中で実行される

※トランザクションとは、複数のINSERTやUPDATE命令をまとめたもの

BEGIN
 ;

一覧へ

■COMMIT

 ・現在のトランザクションを確定します


COMMIT
 ;

一覧へ

■ROLLBACK

 ・現在のトランザクションを取消します


ROLLBACK
 ;

一覧へ

■LOCK

 ・テーブルなどの資源をロックします

 ・通常、更新系のSQL文(INSERT文、DELETE文、UPDATE文)を実行時には、WRITEロックが自動的に発行され
  検索系のSQL文(SELECT文)などは、READロックが発行される

 ・明示的にテーブルをロックする場合は、LOCK TABLES文やUNLOCK TABLESを発行する



LOCK TABLES
 ;

一覧へ

■SET TRANSACTION

 ・各トランザクションの特性を制御します。


SET TRANSACTION { WAIT 60/n }
 ;

【詳細】
WAIT 60/n
(DBライブバージョンのみ)
タイムアウトまでの、サーバーからの応答の待ち時間を指定します。
デフォルトは60秒です。 0を指定すると間隔は無限になります。
ISOLATION LEVEL 1/CS/3/RR 後続トランザクションの分離レベルを設定します。ISOL LEVELは、ISOLATION LEVELの省略形です。

1/CS
現在のデータ読み取り処理が終了した後かつ最初のトランザクションがコミットされる前に、そのデータは他のトランザクションにより変更できます。CS(カーソル固定)および 1は同義です。
3/RR
トランザクション内で同一のデータの読み取りを複数回行って、また同じ結果を得ることができます。RR(反復読み取り)および 3は同義です。分離レベルを変更するSET TRANSACTIONコマンドが発行されない限り、デフォルトは3またはRRです。
READ ONLY/RO 読み取り専用アクセスを可能にします。つまり、NOMADは、更新・挿入・削除を行いません。さらに、NOMADは読み取り専用モードになっていることをSQL Serverに伝えます。クライアントライブラリ:ロックするという意味で、読み取り専用に設定された回答を開くことができます。READ ONLY、RDONLY、ROはすべて同じです。
READ WRITE/RW 読み取りおよび書き込みアクセスを可能にします。このタイプのアクセスでは、どの分離レベルも使用できます。READ WRITEおよびRWは同義です。アクセスタイプを変えるようなSET TRANSACTIONコマンドが発行されない限り、デフォルトはREAD WRITEまたはRWです。

一覧へ

 
    
A8ネット
 ・人気度:★★★★★
 ・言わずと知れた人気ASP

 
楽天市場
 ・人気度:★★★★★
 ・誰でも安心、楽天市場で

タワーレコード
 ・人気度:★★★★☆
 ・CD/DVDならタワレコで

 
■ネット証券関連おすすめ
イー・トレード証券
 ・人気度:★★★★★
 ・初心者はこちらから

マネックス証券
 ・人気度:★★★★★
 ・中級者ならこちらから






Copyright(C)2007 得@スキルアップ塾.comAll right reserved.