語句 | 用途 |
INSERT | 向表中添加行 |
UPDATE | 更新存儲在表中的數據 |
DELETE | 刪除行 |
SELECT FOR UPDATE | 禁止其他用戶訪問DML語句正在處理的行。 |
LOCK TABLE | 禁止其他用戶在表中使用DML語句 |
INSERT INTO customers(cust_id,state,post_code) VALUE('Ariel',NULL,'94501'); |
INSERT INTO customers(cust_id,state,post_code) VALUE('Ariel',,'94501'); |
UPDATE order_rollup SET(qty,PRice)=(SELECT SUM(qty),SUM(price) FROM order_lines WHERE customer_id='KOHL' WHERE cust_id='KOHL' AND order_period=TO_DATE('01-Oct-2000') |
DELETE FROM po_lines WHERE ship_to_state IN ('TX','NY','IL') AND order_date |
TRUNCATE TABLE (schema)table DROP(REUSE) STORAGE |
LOCK schema table IN lock_mode |
LOCK TABLE intentory IN EXCLUSIVE MODE |
語句 | 用途 |
Commit | 完成事務,數據修改成功并對其他用戶開放 |
Rollback | 撤銷事務,撤銷所有操作 |
rollback to savepoint | 撤銷在設置的回滾點以后的操作 |
set transaction | 響應事務或語句的一致性;非凡對于事務使用回滾段 |
BEGIN UPDATE checking SET balance=balance-5000 WHERE account='Kieesha'; INSERT INTO checking_log(action_date,action,amount) VALUES (SYSDATE,'Transfer to brokerage',-5000); UPDATE brokerage SET cash_balance=cash_balance+5000 WHERE account='Kiesha'; INSERT INTO brokerage_log(action_date,action,amount) VALUES (SYSDATE,'Tracfer from checking',5000) COMMIT EXCEPTION WHEN OTHERS ROLLBACK END |
BEGIN INSERT INTO ATM_LOG(who,when,what,where) VALUES ('Kiesha',SYSDATE,'Withdrawal of $100','ATM54') SAVEPOINT ATM_LOGGED; UPDATE checking SET balance=balance-100 RETURN balance INTO new_balance; IF new_balance<0 THEN ROLLBACK TO ATM_LOGGED; COMMIT RAISE insufficient_funda; END IF END |
ROLLBACK TO ATM_LOGGED; ROLLBACK TO SAVEPOINT ATM_LOGGED; |
SET TRANSACTION ISOLATION LEVEL READ COMMIT; SET TRANSACTION ISOLATION LEVEL READ COMMIT |
SET TRANSCATION READ ONLY |
SELECT(沒有FOR UPDATE子句) LOCK TABLE SET ROLE ALTER SYSTEM ALTER ALARM |
SET TRANSACTION USE ROLLBACK SEGMENT rb_large; |
rb_large(initial 100M minextenta 2) rb1 (initial 1M next minextents 5) rb2 (initial 1M next minextents 5) rb3 (initial 1M next minextents 5) rb4 (initial 1M next minextents 5) rb5 (initial 1M next minextents 5) rb6 (initial 1M next minextents 5) rb7 (initial 1M next minextents 5) rb8 (initial 1M next minextents 5) rb9 (initial 1M next minextents 5) rb10 (initial 1M next minextents 5) |
SET TRANSACTION USE ROLLBACK SEGMENT rb_large |
CREATE USE piyush IDENTIFIED BY welcome |
ALTER USER piyush IDENTIFIED BY saraswati; |
CREATE USER ops$appl IDENTIFIED EATERNALLY |
CREATE USER appl IDENTIFIED EATERNALLY |
CREATE USER scott IDENTIFIED GLOBALLY AS "CN=scott,OU=divisional,O=sybex,C=US" |
CREATE USER piyush IDENTIFIED BY saraswati DEFAULTE TABLESPACE user_data; ALTER USER manoj DEFAULTE TABLESPACE dev1_data; |
CREATE USER piyush IDENTIFIED BY saraswati Temporary TABLESPACE user_data; ALTER USER manoj Temporary TABLESPACE dev1_data; |
CREATE USER piyush IDENTIFIED BY saraswati DEFAULT TABLESPACE user_data QUOTA UNLIMITED ON user_data QUOTA 20M ON tools; ALTER USER manoj QUOTA 2500K ON tools; |
CREATE USER piyush IDENTIFIED BY saraswati PROFILE TABLESPACE user_data; ALTER USER manoj Temporary TABLESPACE dev1_data; |
ALTER USER manoj DEFAULT ROLE ALL EXCEPT salary_adm; |
ALTER USER manoj IDENTIFIED BY welcome; ALTER USER manoj PASSWORD EXPIRE; |
ALTER USER ql AC COUNT LOCK |
ALTER USER ql ACCOUNT UNLOCK |
CREATE ROLE role_name IDENTIFIED BY password CREATE ROLE role_name IDENTIFIED EXTERNALLY CREATE ROLE role_name IDENTIFIED GLOBALLY |
SET ROLE role_name IDENTIFIED BY password |
權限 | ALTER | DELETE | EXECUTE | INDEX | INSERT | READ | REFERENCE | SELECT | UPDATE |
Directory | no | no | no | no | no | yes | no | no | no |
function | no | no | yes | no | no | no | no | no | no |
procedure | no | no | yes | no | no | no | no | no | no |
package | no | no | yes | no | no | no | no | no | no |
DB Object | no | no | yes | no | no | no | no | no | no |
Libary | no | no | yes | no | no | no | no | no | no |
Operation | no | no | yes | no | no | no | no | no | no |
Sequence | yes | no | no | no | no | no | no | no | no |
Table | yes | yes | no | yes | yes | no | yes | yes | yes |
Type | no | no | yes | no | no | no | no | no | no |
View | no | yes | no | no | yes | no | no | yes | yes |
GRANT ROLE(或system privilege) TO user(role,Public) WITH ADMIN OPTION(可選) |
視圖 | 作用 |
ALL_COL_PRIVS | 表示列上的授權,用戶和PUBLIC是被授予者 |
ALL_COL_PRIVS_MADE | 表示列上的授權,用戶是屬主和被授予者 |
ALL_COL_RECD | 表示列上的授權,用戶和PUBLIC是被授予者 |
ALL_TAB_PRIVS | 表示對象上的授權,用戶是PUBLIC或被授予者或用戶是屬主 |
ALL_TAB_PRIVS_MADE | 表示對象上的權限,用戶是屬主或授予者 |
ALL_TAB_PRIVS_RECD | 表示對象上的權限, 用戶是PUBLIC或被授予者 |
DBA_COL_PRIVS | 數據庫列上的所有授權 |
DBA_ROLE_PRIVS | 顯示已授予用戶或其他角色的角色 |
DBA_SYS_PRIVS | 已授予用戶或角色的系統權限 |
DBA_TAB_PRIVS | 數據庫對象上的所有權限 |
ROLE_ROLE_PRIVS | 顯示已授予用戶的角色 |
ROLE_SYS_PRIVS | 顯示通過角色授予用戶的系統權限 |
ROLE_TAB_PRIVS | 顯示通過角色授予用戶的對象權限 |
session_PRIVS | 顯示用戶現在可利用的所有系統權限 |
USER_COL_PRIVS | 顯示列上的權限,用戶是屬主、授予者或被授予者 |
USER_COL_PRIVS_MADE | 顯示列上已授予的權限,用戶是屬主或授予者 |
USER_COL_PRIVS_RECD | 顯示列上已授予的權限,用戶是屬主或被授予者 |
USER_ROLE_PRIVS | 顯示已授予給用戶的所有角色 |
USER_SYS_PRIVS | 顯示已授予給用戶的所有系統權限 |
USER_TAB_PRIVS | 顯示已授予給用戶的所有對象權限 |
USER_TAB_PRIVS_MADE | 顯示已授予給其他用戶的對象權限,用戶是屬主 |
USER_TAB_PRIVS_RECD | 顯示已授予給其他用戶的對象權限,用戶是被授予者 |
|
新聞熱點
疑難解答