-
连接超级管理,查看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数据库
查看全部 -
工具,首选项,代码编辑器,来显示行数,调整字体大小
查看全部
举报