【正文】
= tzinfo) ) )然后建立數(shù)據(jù)庫鏈create database link mylink1 connect to scott identified by tiger using 39。 select *from logsmylink2。 。Create database link 數(shù)據(jù)庫鏈名connect to user名identified by 口令using ‘Oracle連接串’。當(dāng)然,這個(gè)同義詞的創(chuàng)建者,可以通過授權(quán)控制其他用戶是否有權(quán)使用屬于自己的私有同義詞。在使用同義詞時(shí),Oracle數(shù)據(jù)庫將它翻譯成對應(yīng)方案對象的名字。MAXVALUE:指定序列可生成的最大值。一般使用序列自動地生成主碼值。l 基本語法:CREATE VIEW view_name ASSELECT STATEMENT[WITH CHECK OPTION]l 視圖的查詢對視圖的查詢與對基本表查詢一樣l 視圖的更新對視圖的更新最終要轉(zhuǎn)換成對基本表的更新視圖更新條件:252。END。 end if。)。已更新test_trg中的數(shù)據(jù)39。end。 DML 觸發(fā)器 在對表或視圖執(zhí)行DML語句時(shí)執(zhí)行252。||sal_diff)。 啟用復(fù)雜的業(yè)務(wù)邏輯l 觸發(fā)器由三部分組成:252。 END LOOP。END cur_pack。 游標(biāo)的定義分為游標(biāo)規(guī)范和游標(biāo)主體兩部分。 end print_str。end my_package。16. 程序包l 程序包是對相關(guān)過程、函數(shù)、變量、游標(biāo)和異常等對象的封裝。 形參不能是 PL/SQL 類型252。 end。||b)。end。exception WHEN NO_DATA_FOUND THEN (39。 close emp_cur。例如:declare type my_cur is ref cursor。end。 end loop。PL/SQL提供了僅僅使用游標(biāo)就可以執(zhí)行刪除或更新記錄的方法。 (var_empno||39。 CURSOR emp_cur(param_job %type) IS SELECT empno, ename FROM emp WHERE job=param_job。在打開游標(biāo)時(shí)給參數(shù)賦值,語法如下:OPEN定義參數(shù)的語法如下:Parameter_name 帶參數(shù)的游標(biāo))。打開游標(biāo) 使用游標(biāo)中的值之前應(yīng)該首先打開游標(biāo),打開游標(biāo)初始化查詢處理。職員未找到39。BEGIN select empno into var_empno from emp where empno=7900。 END IF。,39。end。我被正常執(zhí)行啦!39。select *from emp1 where empno=:arg1 and sal:arg239。. 動態(tài)SQL動態(tài) SQL 是指在PL/SQL程序執(zhí)行時(shí)生成的 SQL 語句。begin if var_a5 then goto label1。 (39。*39。 end loop。哈哈39。 else (39。 then (39。)。A39。end。 GOTO 語句252。 條件控制252。 var_const constant varchar(100) :=39。SQL ROLLBACK TO SAVEPOINT mark1。. 刪delete語法:DELETE FROM tablename [WHERE 過濾條件]。//添加check約束. 刪除約束語法:ALTER TABLE 表名 CONSTRAINT constraint_name;例如:alter table student drop constraint ck_student_sage。. 將一個(gè)表改名語法:ALTER TABLE 當(dāng)前表名 RENAME TO 新表名。例如:create table ( uid number(5) primary key, name varchar2(10))。 AND resource_name=39。//除role1外的該用戶的所有其它角色生效select * from SESSION_ROLES。l 修改角色:是否需要口令alter role role1 not identified。查看scott用戶中,都哪些用戶把對象授予給scott用戶select * from user_tab_privs。s heterogeneous services feature needs this role to access appropriate tables in the data dictionary.. 管理角色l 建一個(gè)角色create role role1。8. 角色管理l 角色是一組權(quán)限的集合,將角色賦給一個(gè)用戶,這個(gè)用戶就擁有了這個(gè)角色中的所有權(quán)限。例:grant connect, resource to scott。(是針對表或視圖而言的)。例:create user scott identified by tiger。l 標(biāo)準(zhǔn)命名方式以字符打頭30個(gè)字符以內(nèi)只能包含AZ,az,09,_,$和。Oracle的命名規(guī)則分為標(biāo)準(zhǔn)命名方式和非標(biāo)準(zhǔn)命名方式。6. Oracle用戶操作4.5.6.. 創(chuàng)建用戶CREATE USER usernameIDENTIFIED BY password[DEFAULT TABLESPACE tablespace][TEMPORARY TABLESPACE tablespace]。l 實(shí)體權(quán)限:某種權(quán)限用戶對其它用戶的表或視圖的存取權(quán)限。普通用戶通過授權(quán)可以具有與system相同的用戶權(quán)限,但永遠(yuǎn)不能達(dá)到與sys用戶相同的權(quán)限,system用戶的權(quán)限也可以被回收。. 實(shí)體權(quán)限回收REVOKE select, update ON tablename FROM username。關(guān)于恢復(fù)庫的信息,參考o(jì)racle文檔《Oracle9i UserManaged Backup and Recovery Guide》HS_ADMIN_ROLEA DBA using Oracle39。查scott用戶的創(chuàng)建時(shí)間、用戶狀態(tài)、使用的默認(rèn)表空間、臨時(shí)表空間等信息select * from user_users。l 創(chuàng)建帶有口令以角色(在生效帶有口令的角色時(shí)必須提供口令)create role role1 identified by password1。//設(shè)置所有角色失效set role all except role1。DEFAULT39。. 創(chuàng)建新表語法:CREATE TABLE new_table_name( Colname datatype [default XXX] [PRIMARY KEY],Colname1 datatype [default XXX] [NOT NULL | NULL]…colnameN datatype [default XXX])。例如:alter table skate_test drop column author。))。 INSERT INTO history SELECT id,last_name,salary FROM s_emp WHERE start_date’01JAN94’。SQL SAVEPOINT mark2。 var_int int。11.12.13.. 控制結(jié)構(gòu)l PL/SQL 支持的流程控制結(jié)構(gòu):178。 順序控制252。 end if。 when 39。優(yōu)秀39。D39。)。exit 終止當(dāng)前循環(huán) exit when ... 條件滿足則終止當(dāng)前循環(huán)例如: begin LOOP (39。 var_count:=var_count+1。begin for var_i in 1..9 loop for var_j in 1..9 loop (var_j||39。 end loop。 NULL語句goto 無條件地轉(zhuǎn)到標(biāo)簽指定的語句null 什么也不做的空語句例如: declare var_a number(2):=1。end。 var_sql := 39。 (39。)。附件39。|| category)。隱式游標(biāo)屬性:%found SQL 語句影響了一行或多行時(shí)為 TRUE%notfound SQL 語句沒有影響任何行時(shí)為 TRUE%rowcount SQL 語句影響的行數(shù)例如:declare var_empno %type。 EXCEPTION WHEN NO_DATA_FOUND THEN (39。聲明游標(biāo)語法: CURSOR cursor_name IS select_statement。job39。 關(guān)閉游標(biāo)end。游標(biāo)中定義的參數(shù)只是一個(gè)占位符,在別處引用該參數(shù)不一定可靠。 var_ename %type。 EXIT WHEN emp_cur%NOTFOUND。顯式游標(biāo)只有在需要獲得多行數(shù)據(jù)的情況下使用。 update emp1 set sal=var_sal* where current of emp_cur。 end loop。var_cur my_cur。 end loop。 ()。 temp2:=temp。b=39。||b)。 函數(shù)只能接受 IN 參數(shù),而不能接受 IN OUT 或 OUT 參數(shù)252。 end。function print_str(str varchar2) return varchar2。 return str。l 程序包中的游標(biāo)252。 PROCEDURE ord_pro(vcode VARCHAR2)。 || )。 提供審計(jì)和日志記錄252。工資差額:39。 數(shù)據(jù)庫級觸發(fā)器 在發(fā)生打開、關(guān)閉、登錄和退出數(shù)據(jù)庫等系統(tǒng)事件時(shí)執(zhí)行252。 end if。)||39。已刪除test_trg中的數(shù)據(jù)39。)。)。18. 視圖l 視圖是存儲在數(shù)據(jù)庫中的預(yù)先定義好的查詢,具有表的外觀,可以像表一樣對其進(jìn)行存取,但不占據(jù)物理存儲空間。l 例如:CREATE UNIQUE INDEX couo ON couse(o)CREATE UNIQUE INDEX so ON sc(sno ASC,o DESC)l 刪除索引DROP INDEX index_name20. 序列l(wèi) 序列是一數(shù)據(jù)庫對象,利用它可生成唯一的整數(shù)。對于降序,序列可由比最大值小的值開始,缺省值為序列的最大值。同義詞是數(shù)據(jù)庫方案對象的一個(gè)別名,經(jīng)常用于簡化對象訪問和提高對象訪問的安全性。 l 私有Oracle同義詞:它是跟公用同義詞所對應(yīng),他是由創(chuàng)建他的用戶所有。. 在數(shù)據(jù)庫鏈中的作用數(shù)據(jù)庫鏈?zhǔn)且粋€(gè)命名的對象,說明一個(gè)數(shù)據(jù)庫到另一個(gè)數(shù)據(jù)庫的路徑,通過其可以實(shí)現(xiàn)不同數(shù)據(jù)庫之間的通信。tzinfo39。27 /