-
連接超級管理,查看cursor相關的參數
open_cursors 一個會話中光標的最多數量,300是不夠使用的;
alter system set open_cursors=400 scope=both;
scope的取值?
memory,----只更改當前示例,不更改參數文件
spfile--只更改參數文件,不更改當前示例,需要重啟數據庫
both---包含以上2種更改;
SQL> conn sys/123456 as sysdba
已連接。
SQL> show user
USER 為 "SYS"
SQL> show parameter %cursor%
NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?TYPE? ? ? ? VALUE
------------------------------------ ----------- -------------
cursor_sharing? ? ? ? ? ? ? ? ? ? ? ?string? ? ? EXACT
cursor_space_for_time? ? ? ? ? ? ? ? boolean? ? ?FALSE
open_cursors? ? ? ? ? ? ? ? ? ? ? ? ?integer? ? ?300
session_cached_cursors? ? ? ? ? ? ? ?integer? ? ?50
查看全部 -
-- 給員工漲工資,總裁1000,經理800,其他400
set serveroutput on
declare
? ? --定義光標代表給哪些員工漲工資
? ? --alter table "SCOTT"."EMP" rename column "JOB" to empjob
? ? --表中job提示藍色,觸碰到了關鍵字
? ? cursor cemp is select empno,empjob from emp;
? ? pempno emp.empno%type;
? ? pjob emp.empjob%type;
begin
? ? rollback;
? ? --打開光標
? ? open cemp;
? ??
? ? loop
? ? ? ? fetch cemp into pempno,pjob;
? ? ? ? exit when cemp%notfound;
? ? ? ??
? ? ? ? -- 判斷員工的職位
? ? ? ? if pjob = 'PRESIDENT' then update emp set sal=sal+1000 where empno=pempno;
? ? ? ? ? ? elsif pjob = 'MANAGER' then update emp set sal=sal+800 where empno=pempno;
? ? ? ? ? ? else update emp set sal=sal+400 where empno=pempno;
? ? ? ? end if;
? ? end loop;
? ? --關閉光標
? ? close cemp;
? ??
? ? -- 對于oracle,默認的事務隔離級別是read committed
? ? -- 事務的acid
? ? commit;
? ??
? ? dbms_output.put_line('漲工資成功');
end;
/
查看全部 -
--查詢并打印員工姓名和薪水
/**
1.光標的屬性--4個屬性,本節僅介紹2個
?%found? %not found
*/
set serveroutput on
declare
? ? --定義一個光標
? ? cursor cemp is select ename,sal from emp;
? ? -- 為光標定義對應的變量
? ? pename emp.ename%type;
? ? psal emp.sal%type;
begin
? ? --打開光標
? ? open cemp;
? ? loop
? ? -- 取一條記錄
? ? fetch cemp into pename,psal;
? ? -- exit when 沒有取到記錄
? ? exit when cemp%notfound;
? ? -- 打印
? ? dbms_output.put_line(pename||'的薪水'||psal);
? ? end loop;
? ? -- 關閉光標
? ? close cemp;
end;
/
查看全部 -
光標就是一個結果集 result set
查看全部 -
--使用for循環打印1--10
set serveroutput on
declare
?-- 定義循環變量
? ? pnum number := 1;
begin
? ? for pnum in 1..10 loop
? ? ? ? dbms_output.put_line(pnum);
? ? end loop;
end;
/
查看全部 -
-- 使用loop循環打印1--10*****使用最多,控制光標比較方便
set serveroutput on
declare
pnum number :=1;
begin
loop
?-- 退出循環條件:變量大于10
?exit when pnum > 10;
?-- 打印該變量的值
?dbms_output.put_line(pnum);
?pnum := pnum + 1;
end loop;
end;
/
查看全部 -
--使用while循環打印數字1-10
set serveroutput on
declare
--定義循環變量
?pnum number :=1;
begin
?while pnum <= 10 loop
?--循環體
?dbms_output.put_line(pnum);
?pnum := pnum + 1;
?end loop;
end;
/
查看全部 -
/*
判斷用戶從鍵盤輸入的數字
1.如何使用if語句
2.接收一個鍵盤輸入-字符串
*/
set serveroutput on
-- 接收一個鍵盤輸入
-- num: 地址值,含義是:在該地址上保存了輸入的值
accept num prompt '請輸入一個數字';
declare
?-- 定義變量保存用戶從鍵盤輸入的數字
? ? pnum number := #
begin
-- if進行條件判斷--dbms_output.put_line里面不能放雙引號
? ? if pnum = 0 then dbms_output.put_line('您輸入的是0');
? ? ? ? elsif pnum = 1 then dbms_output.put_line('您輸入的是1');
? ? ? ? elsif pnum = 2 then dbms_output.put_line('您輸入的是2');
? ? ? ? else dbms_output.put_line('其他數字');
? ? end if;
end;
/
查看全部 -
--引用型變量
set serveroutput on
declare
-- 定義引用型變量:查詢并打印7839的姓名和薪水
-- pename varchar2(20);
-- psal number;
?pename emp.ename%type;
?psal emp.sal%type;
?begin
?--得到7839的姓名和薪水
?select ename,sal into pename,psal from emp where empno=7839;
?
?-- 打印
?dbms_output.put_line(pename||'的薪水是'||psal);
?end;
?/
查看全部 -
-- 使用記錄變量,查詢并打印7839的姓名和薪水
set serveroutput on
declare
--定義記錄型變量:注意代表一行
?emp_rec emp%rowtype;
?begin
?--得到7839一行的信息
?select * into emp_rec from emp where empno=7839;
?
?--打印姓名和薪水
?dbms_output.put_line(emp_rec.ename||'的薪水是'||emp_rec.sal);
?end;
?/
查看全部 -
scott? ------ 打開一個sql工作表
set serveroutput on;
-- 使用基本變量類型
declare
-- 定義基本變量類型
-- 基本數據類型
pnumber number(7,2);
--字符串變量
pname varchar2(20);
--日期變量
pdate date;
begin
pnumber := 1;
dbms_output.put_line(pnumber);
pname := 'Tom';
dbms_output.put_line(pname);
pdate := sysdate;
dbms_output.put_line(pdate);
dbms_output.put_line(pdate + 1);
end;
/
查看全部 -
pl/sql的程序結構
查看全部 -
-- 打印hello world
declare
-- 說明部分(變量,光標或者例外)
begin
-- 程序體
dbms_output.put_line('hello world');
end;
-- end后面分號別忘記了
/
-- 打開輸出開關
set serveroutput on
/
-- 查看程序包的結構
desc dbms_ouput
查看全部 -
】
工具---首選項----數據庫----第三方數據庫jdbc驅動程序-----mysql-connector-java-5.1.7-bin.jar
mysql驅動的加包---
新建連接可以有mysql數據庫
查看全部 -
工具,首選項,代碼編輯器,來顯示行數,調整字體大小
查看全部
舉報