打开PL/SQl Developer 在"SQL窗口"或者“命令窗口”都可以执行pl/sql程序块
写一个匿名的程序块:
(1)declare
w varchar2(20); //变量声明,类型在后
begin
select * into w from dual; //没有into也执行不了
dbms_output.put_line(w);
end;
/
(2)declare
vjob varchar(10); //如果字符长度超过10会报错
vnum number:=0;
vdate date:=sysdate;
fnum number(3,2):=3.33; //小数
flag boolean not null:=false;
begin
select to_char(sysdate,'yyyy-MM-dd') into vjob from dual; //在块中如何转换日期?
dbms_output.put_line(vjob);
end;
/
(3)declare
userId number;
userName varchar2(20);
begin
select user_id,username into userId,userName from T_USER where user_id=266;
dbms_output.put_line('用户名: '||userName ||' 用户ID: '||userId);
end;
/
把 上面的(3)可改成如下:
declare
userId T_USER.User_Id%type; //可以在未知类型,大小的时候定义变量
userName T_USER.Username%type;
begin
select user_id,username into userId,userName from T_USER where user_id=266;
dbms_output.put_line('用户名: '||userName ||' 用户ID: '||userId);
end;
/
V_comment:=user||':'||sysdate; -- 会编译出错
V_comment:=user||':'||to_char(sysdate); --正确
(4)declare
var varchar(1);
begin
select * into var from dual;
end;
/
PL/SQL procedure successfully completed //在命令窗口,执行(4)代码就会反馈
设置:
set feedback off
set autoprint off
设置断点:
有两种方法设置断点,在程序窗口或者测试窗口。
选择多行多列多单元格:
在查询出来的结果表格中, 为选择一个特殊区域的单元格,移动鼠标指针越过单元格左侧直到光标改变,按鼠标键拖动鼠标高亮选择。为选择所有的行和列,按左上角的单元格,或者右键点击表格,从弹出菜单中选择全部菜单项.
导出数据:
有很多方法导出结果集表格中的数据,执行一个select语句后,可以象上面介绍的选择一个单元格区域,在上右键点击,从弹出菜单中选择导出结果集菜单项。
另外一种方是将内容拷贝到剪贴板中,按Ctrl_C或者右键点击选择项后从弹出菜单中选择拷贝(Copy)或者带标题头持贝菜单项。随后粘贴数据到其他程序中,像电子制表软件等。
为了快速处理结果集到Microsoft Excel,选择Copy to Excel菜单项,这将打开一个新的Excel实例,而且所有选择数据被拷贝。
排序行:
为在结果集表格排序行,点击排序字段的标题头按键。
单记录视图(Single Record view):
如果结果集包含很多字段,一条记录显示一行可能不方便,你必须前后滚动查看关联字段。
按表格工具条中的单记录视图,可以一次看一条记录。
表格工具条中的下一条记录和上一条记录可以导航结果集。再次单击单记录视图可以回到多记录视图。