-
連接超級(jí)管理,查看cursor相關(guān)的參數(shù)
open_cursors 一個(gè)會(huì)話中光標(biāo)的最多數(shù)量,300是不夠使用的;
alter system set open_cursors=400 scope=both;
scope的取值?
memory,----只更改當(dāng)前示例,不更改參數(shù)文件
spfile--只更改參數(shù)文件,不更改當(dāng)前示例,需要重啟數(shù)據(jù)庫
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,經(jīng)理800,其他400
set serveroutput on
declare
? ? --定義光標(biāo)代表給哪些員工漲工資
? ? --alter table "SCOTT"."EMP" rename column "JOB" to empjob
? ? --表中job提示藍(lán)色,觸碰到了關(guān)鍵字
? ? cursor cemp is select empno,empjob from emp;
? ? pempno emp.empno%type;
? ? pjob emp.empjob%type;
begin
? ? rollback;
? ? --打開光標(biāo)
? ? 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;
? ? --關(guān)閉光標(biāo)
? ? close cemp;
? ??
? ? -- 對(duì)于oracle,默認(rèn)的事務(wù)隔離級(jí)別是read committed
? ? -- 事務(wù)的acid
? ? commit;
? ??
? ? dbms_output.put_line('漲工資成功');
end;
/
查看全部 -
--查詢并打印員工姓名和薪水
/**
1.光標(biāo)的屬性--4個(gè)屬性,本節(jié)僅介紹2個(gè)
?%found? %not found
*/
set serveroutput on
declare
? ? --定義一個(gè)光標(biāo)
? ? cursor cemp is select ename,sal from emp;
? ? -- 為光標(biāo)定義對(duì)應(yīng)的變量
? ? pename emp.ename%type;
? ? psal emp.sal%type;
begin
? ? --打開光標(biāo)
? ? open cemp;
? ? loop
? ? -- 取一條記錄
? ? fetch cemp into pename,psal;
? ? -- exit when 沒有取到記錄
? ? exit when cemp%notfound;
? ? -- 打印
? ? dbms_output.put_line(pename||'的薪水'||psal);
? ? end loop;
? ? -- 關(guān)閉光標(biāo)
? ? close cemp;
end;
/
查看全部 -
光標(biāo)就是一個(gè)結(jié)果集 result set
查看全部 -
--使用for循環(huán)打印1--10
set serveroutput on
declare
?-- 定義循環(huán)變量
? ? pnum number := 1;
begin
? ? for pnum in 1..10 loop
? ? ? ? dbms_output.put_line(pnum);
? ? end loop;
end;
/
查看全部 -
-- 使用loop循環(huán)打印1--10*****使用最多,控制光標(biāo)比較方便
set serveroutput on
declare
pnum number :=1;
begin
loop
?-- 退出循環(huán)條件:變量大于10
?exit when pnum > 10;
?-- 打印該變量的值
?dbms_output.put_line(pnum);
?pnum := pnum + 1;
end loop;
end;
/
查看全部 -
--使用while循環(huán)打印數(shù)字1-10
set serveroutput on
declare
--定義循環(huán)變量
?pnum number :=1;
begin
?while pnum <= 10 loop
?--循環(huán)體
?dbms_output.put_line(pnum);
?pnum := pnum + 1;
?end loop;
end;
/
查看全部 -
/*
判斷用戶從鍵盤輸入的數(shù)字
1.如何使用if語句
2.接收一個(gè)鍵盤輸入-字符串
*/
set serveroutput on
-- 接收一個(gè)鍵盤輸入
-- num: 地址值,含義是:在該地址上保存了輸入的值
accept num prompt '請(qǐng)輸入一個(gè)數(shù)字';
declare
?-- 定義變量保存用戶從鍵盤輸入的數(shù)字
? ? pnum number := #
begin
-- if進(jìn)行條件判斷--dbms_output.put_line里面不能放雙引號(hào)
? ? 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('其他數(shù)字');
? ? 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? ------ 打開一個(gè)sql工作表
set serveroutput on;
-- 使用基本變量類型
declare
-- 定義基本變量類型
-- 基本數(shù)據(jù)類型
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的程序結(jié)構(gòu)
查看全部 -
-- 打印hello world
declare
-- 說明部分(變量,光標(biāo)或者例外)
begin
-- 程序體
dbms_output.put_line('hello world');
end;
-- end后面分號(hào)別忘記了
/
-- 打開輸出開關(guān)
set serveroutput on
/
-- 查看程序包的結(jié)構(gòu)
desc dbms_ouput
查看全部 -
】
工具---首選項(xiàng)----數(shù)據(jù)庫----第三方數(shù)據(jù)庫jdbc驅(qū)動(dòng)程序-----mysql-connector-java-5.1.7-bin.jar
mysql驅(qū)動(dòng)的加包---
新建連接可以有mysql數(shù)據(jù)庫
查看全部 -
工具,首選項(xiàng),代碼編輯器,來顯示行數(shù),調(diào)整字體大小
查看全部
舉報(bào)