Oracle數據庫語法之【DDL】常用匯總
1)創建數據庫
connect / as sysdba
startup pfile= 'c:oracleadmininit_testorcl.ora' nomount;
create database testorcl
datafile '/u02/oracle/testorcl/system01.dbf' size 100m
logfile group1 ('/u01/oracle/testorcl/redo1a.log',
'/u02/oracle/testorcl/redo1b.log') size 500k,
group2 ('/u01/oracle/testorcl/redo1a.log',
'/u02/oracle/testorcl/redo1b.log') size 500k
character set zhs16cgb231280;
2)創建數據庫永久表空間create tablespace mytablespace logging
datafile d:\oracle\product\10.1.0\oradata\mydb\mytablespace.dbf' size 10m
reuse
autoextend on next 5m maxsize unlimited
extent management local
3)創建數據庫臨時表空間create temporary tablespace mytemp logging
tempfile 'd:\oracle\product\10.1.0\oradata\mydb\mytemp.dbf' size 10m
reuse
autoextend on next 5m maxsize unlimited
extent management local
4)創建數據庫用戶create user user_name identified by pword default tablespace you_tabspace temporary tablespace TEMP;
5)創建數據庫角色create role roleName;
6)創建數據庫表create table table_name(column1 number constraint pk_name primary key ,column3 date)
7)創建觸發器create or replace trigger trigger_name
after insert or update on table_name for each row
declare
t_varible varchar2(50);
begin
if inserting then
--insert table(:new.colnum)….;
--t_varible:= new.cloumn;
end if;
if updating then
--update tbale_name set colnum = new.column where 1=1;
end if;
end trigger_name;
8)創建包create package emp_pkg is
procedure emp_update_ename(v_empno varchar2,v_ename varchar2);
function emp_get_sal(v_empno varchar2) return number;
end;
9)創建包體create or replace package body emp_pkg
is
procedure emp_update_ename (v_empno varchar2,v_ename varchar2)
is
vename varchar2(32);
begin
update emp set ename=v_ename where empno=v_empno;
commit;
select ename into vename from emp where empno=v_empno;
dbms_output.put_line('userName:'|| vename);
end;
function emp_get_sal (v_empno varchar2)
return number is
vsal number(7,2);
begin
select sal into vsal from emp where empno=v_empno;
return vsal;
end;
end;
10)創建存儲過程create or replace procedure emp_out_sal (v_empno in varchar2, v_sal out number)
is
vsal number(7,2);
begin
select sal into vsal from emp where empno=v_empno;
v_sal:=vsal;
end;
11)創建函數create or replace function get_salary(dept_no number, emp_count out number)
return number
is
v_sum number;
begin
select sum(salary), count(*) into v_sum, emp_count
from employees
where department_id = dept_no;
return v_sum;
exception
when no_data_found then
dbms_output.put_line('not find data');
when others then
dbms_output.put_line(sqlcode||'---'||sqlerrm);
end get_salary;
12)創建鏈接庫create public database link DB_Link_Name connect to userName identified by password using
'(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = OTHER_SNAME)
)
)';
13)創建遊標declare
cursor c_list is
select * from t_user
begin
for my_cur in c_list loop
--code
end loop;
end
14)創建約束constraint tabname_c1_pufck primay key/unique/foriegn key/check/not null
15)創建視圖create or replace view my_view as select * from table……
16)創建索引create [bitmap] index index_name on table_name(column[,column_name[,...]]);
17)創建序列create sequence myseqname start with 1000 increment by 1
18)創建同義詞create synonym you_syname for user.table/view...[@dblink]
聲明:以上教程爲博主原創,若需轉載請註明出處,謝謝。