【正文】
tzinfo39。 l 私有Oracle同義詞:它是跟公用同義詞所對應(yīng),他是由創(chuàng)建他的用戶所有。對于降序,序列可由比最大值小的值開始,缺省值為序列的最大值。18. 視圖l 視圖是存儲在數(shù)據(jù)庫中的預(yù)先定義好的查詢,具有表的外觀,可以像表一樣對其進行存取,但不占據(jù)物理存儲空間。)。)||39。 數(shù)據(jù)庫級觸發(fā)器 在發(fā)生打開、關(guān)閉、登錄和退出數(shù)據(jù)庫等系統(tǒng)事件時執(zhí)行252。 提供審計和日志記錄252。 PROCEDURE ord_pro(vcode VARCHAR2)。 return str。 end。||b)。 temp2:=temp。 end loop。 end loop。顯式游標(biāo)只有在需要獲得多行數(shù)據(jù)的情況下使用。 var_ename %type。job39。 EXCEPTION WHEN NO_DATA_FOUND THEN (39。|| category)。)。 var_sql := 39。 NULL語句goto 無條件地轉(zhuǎn)到標(biāo)簽指定的語句null 什么也不做的空語句例如: declare var_a number(2):=1。begin for var_i in 1..9 loop for var_j in 1..9 loop (var_j||39。exit 終止當(dāng)前循環(huán) exit when ... 條件滿足則終止當(dāng)前循環(huán)例如: begin LOOP (39。D39。 when 39。 順序控制252。 var_int int。 INSERT INTO history SELECT id,last_name,salary FROM s_emp WHERE start_date’01JAN94’。例如:alter table skate_test drop column author。DEFAULT39。l 創(chuàng)建帶有口令以角色(在生效帶有口令的角色時必須提供口令)create role role1 identified by password1。關(guān)于恢復(fù)庫的信息,參考o(jì)racle文檔《Oracle9i UserManaged Backup and Recovery Guide》HS_ADMIN_ROLEA DBA using Oracle39。普通用戶通過授權(quán)可以具有與system相同的用戶權(quán)限,但永遠(yuǎn)不能達(dá)到與sys用戶相同的權(quán)限,system用戶的權(quán)限也可以被回收。6. Oracle用戶操作4.5.6.. 創(chuàng)建用戶CREATE USER usernameIDENTIFIED BY password[DEFAULT TABLESPACE tablespace][TEMPORARY TABLESPACE tablespace]。l 標(biāo)準(zhǔn)命名方式以字符打頭30個字符以內(nèi)只能包含AZ,az,09,_,$和。(是針對表或視圖而言的)。8. 角色管理l 角色是一組權(quán)限的集合,將角色賦給一個用戶,這個用戶就擁有了這個角色中的所有權(quán)限。查看scott用戶中,都哪些用戶把對象授予給scott用戶select * from user_tab_privs。//除role1外的該用戶的所有其它角色生效select * from SESSION_ROLES。例如:create table ( uid number(5) primary key, name varchar2(10))。//添加check約束. 刪除約束語法:ALTER TABLE 表名 CONSTRAINT constraint_name;例如:alter table student drop constraint ck_student_sage。SQL ROLLBACK TO SAVEPOINT mark1。 條件控制252。end。)。 else (39。 end loop。 (39。. 動態(tài)SQL動態(tài) SQL 是指在PL/SQL程序執(zhí)行時生成的 SQL 語句。我被正常執(zhí)行啦!39。,39。BEGIN select empno into var_empno from emp where empno=7900。打開游標(biāo) 使用游標(biāo)中的值之前應(yīng)該首先打開游標(biāo),打開游標(biāo)初始化查詢處理。 帶參數(shù)的游標(biāo)在打開游標(biāo)時給參數(shù)賦值,語法如下:OPEN (var_empno||39。 end loop。例如:declare type my_cur is ref cursor。exception WHEN NO_DATA_FOUND THEN (39。||b)。 形參不能是 PL/SQL 類型252。end my_package。 游標(biāo)的定義分為游標(biāo)規(guī)范和游標(biāo)主體兩部分。 END LOOP。||sal_diff)。end。)。END。一般使用序列自動地生成主碼值。在使用同義詞時,Oracle數(shù)據(jù)庫將它翻譯成對應(yīng)方案對象的名字。Create database link 數(shù)據(jù)庫鏈名connect to user名identified by 口令using ‘Oracle連接串’。 select *from logsmylink2。 l 為分布式數(shù)據(jù)庫的遠(yuǎn)程對象提供位置透明性。l SQL中序列的用法SELECT FROM dualSELECT FROM dual21. 同義詞19.20.21.. 概念Oracle數(shù)據(jù)庫中提供了同義詞管理的功能。l 刪除視圖DROP VIEW view_name18.. 從單獨的表中創(chuàng)建視圖語法:CREATE VIEW view_name AS SELECT * |COL1[,COL2,…] FROM table_name WHERE expression例如: CREATE VIEW emp _ view AS SELECT emp_id,emp_name,phone FROM employee_tbl. 從多表中創(chuàng)建視圖語法:CREATE VIEW VIEW_NAME AS SELECT * |COL1[,COL2,….] FROM TABLE_NAME1,TABLE_NAME2,… WHERE EXPRESSION例如: CREATE VIEW employee_summary AS SELECT , FROM employee_tbl e,employee_pay_tbl p WHERE = . 從視圖中創(chuàng)建視圖語法:CREATE VIEW2 AS SELECT * FROM VIEW1例如: CREATE subsummary AS SELECT * FROM employee_summary19. 索引l 語法:CREATE [UNIQUE] [CLUSTER] INDEX index_name ON table_name(clo_name 升/降序,…...)ASC:升序,DESC:降序UNIQUE 每一個索引只對應(yīng)唯一的數(shù)據(jù)記錄;CLUSTER 聚簇索引,是指索引項的順序與表中記錄的物理順序一致的索引組織。已激活觸發(fā)器39。)||39。)。 (39。 (’返回的值為39。end。l 例如: 定義程序包規(guī)范create or replace package my_package isprocedure print。定義函數(shù)的限制:252。 (39。begin select * into var_emp from emp where empno=temp_no。 聲明弱類型的 REF 游標(biāo):TYPE my_cur IS REF CURSOR。 exit when emp_cur%notfound。 LOOP FETCH emp_cur INTO var_empno,var_ename。另外可以給參數(shù)設(shè)定一個缺省值,當(dāng)沒有參數(shù)值傳遞給游標(biāo)時,就使用缺省值。 close emp_cur。顯式游標(biāo)在PL/SQL塊的聲明部分聲明,在執(zhí)行部分或異常處理部分打開,取數(shù)據(jù),關(guān)閉。通過檢查隱式游標(biāo)的屬性可以獲得最近執(zhí)行的DML 語句的信息。 IF category NOT IN (39。 select empno into var_id from emp1 where empno=1111。label2 null。 exit when var_j=var_i。begin while var_count10 loop (var_count)。較差39。 then (39。 else update emp1 set sal=sal* where empno=7369。end。SQL DELETE FROM order_master WHERE orderno = ‘o002’。女39。例如: CREATE TABLE newitemfile AS SELECT * FROM itemfile。//使用該用戶的所有角色生效set role none。查看scott用戶自己具有什么的權(quán)限select * from SESSION_ROLES。. 實體權(quán)限傳遞例:user01:grant select, update on product to user02 with grant option。(系統(tǒng)權(quán)限是對用戶而言)。4. 命名規(guī)則Oracle中的各種數(shù)據(jù)對象,包括表名稱,視圖等等名稱的命名都需要遵循Oracle的命名規(guī)則。. 密碼修改ALTER USER username IDENTIFIED BY newpassword. 鎖定用戶ALTER USER username ACCOUNT LOCK。. 系統(tǒng)權(quán)限傳遞增加WITH ADMIN OPTION選項,則得到的權(quán)限可以傳遞。l 授權(quán)給角色grant create any table, create procedure to role1。alter role role1 identified by password1。PASSWORD_LIFE_TIME39。例如:alter table skate_test rename to test_sakte。例如:delete *from student。)39。 NULL 語句. 條件控制252。 then (39。一般39。)。||var_i||39。 else goto label2。 execute immediate var_sql into var_emp using var_empno,100。 用戶定義異常例如: DECLARE invalidCATEGORY EXCEPTION。EXCEPTION WHEN invalidCATEG