--表
create table tb_mytable(
mname vardhar2(30),
pwd varchar2(30)
);--儲存過程
create or replace procedure sp_myprocedure(p_name varchar2)
is begin
end;
exec sp_myprocedure('123');
--塊declare
v_ename emp.ename%type;--定義成與原表相同型別及長度 降低維護量
v_eno varchar2(20);
v_sal number(6,2);
v_sal2 number(6,2):=11.22;
v_date date;
v_valid boolean not null default false;
v_const constant varchar2(2):='hym';
begin
select ename,empno into v_ename,v_eno from emp where empno=&no;
--開啟輸出選項
set serveroutput on
--輸出
dbms_output.put_line(v_ename);
exception
when no_data_found then
dbms_output.put_line('沒有找到資料');
end;
--函式
create function fn_myfunction(p_name varchar2)
return number
is mysal number(7,2);
begin
select sal into mysal from emp where ename=upper(myname);
return mysal;
end;
var sal number;
call fn_myfunction('scott') into:sal;
--包(只定義)
create package pck_mypackage
is procedure sp_updatesal(ename varchar2,sal number);
function fn_myfunction(ename varchar2) return number;
end;
--包體
create pacckage body pck_mypacckage
isbegin
--sp_updatesal的實現
--fn_myfunction的實現
end;
--呼叫
call pck_mypackage.sp_updatesal('scott',1000);
--迴圈
declare
v_num number:=1;
begin
loop
dbms_output.put_line(v_num);
exit when v_num=10;
v_num:=v_num+1;
end loop;
while v_num<=20
loop
dbms_output.put_line(v_num);
v_num:=v_num+1;
end loop;
end;
--游標
declare
text_cursor cursor;
begin
open test_cursor for select ename,sal from emp where deptno=&no;
loop
fetch test_cursor into
exit when
end loop;
end;
oracle 基礎語法
1 兩表關聯。但關聯鍵區域id 可能為空。這種情況寫法如下 select a.b.病歷內容,b.病歷html內容 from fgcisbl.臨床 病歷樹形顯示表 a left join fgcisbl.臨床 住院文書內容表 b on a.文書id b.文書id and nvl a.區域id,null...
Oracle基礎語法
1.oracle中的專業術語 sid 資料庫名稱 2.oracle的安全體系 基於分使用者原則進行資料庫管理,即 在乙個使用者admin下的資料庫,另乙個使用者user在沒有許可權時,admin下的資料庫對user是不可見的。3.基本學習oracle只需要啟動兩個服務 1 監聽 oracleorad...
Oracle 基礎語法
啟動sql plus程式 sqlplus建立新使用者 sql create user identified by 上面的語句建立了乙個名為 username 的新使用者,並在identified by子句之後指定了乙個密碼,在這個示例中,建立的使用者 username對應的密碼為 passworld...