create or replace procedure kk as v_num number; -----声明一个整型变量 v_num begin select count(1) into v_num from aa; ---查出表aa的记录数,然后赋予变量v_num end kk; 实际上可以这样写 select count(*) into v_num from aa;
create or replace procedure pro_name(yourname varchar2(20)) as begin insert into table_user(id,name) values(table_user.nextval,'yourname'); commit; end; 这个存储过程的as后面咋没有参数啊?并且这个pro_name后面还跟了个参数? 2:上面那个参数咋在as之后啊?这两种写法效果是不是一样的? 3:as的作用是什么啊?怎么有的存储过程as后面有东西,有的没有?
1:该怎样调用一个存储过程啊?在oracle里可以直接调用吗?2:create or replace procedure p_demo as v_addr varchar2(12); begin select address into v_addr from tbname where id='1'; dbms_output.put_line(v_addr); exception when others then dbms_output.put_line('sql error!'); end p_demo; / 功能:找到id=1的address,显示出来 set serveroutput on; exec p_demo; 这个存储过程里面dbms_output.put_line(v_addr);一句有什么用?3:其中的:exception when others then dbms_output.put_line('sql error!');有什么用?是不是必须的?4:set serveroutput on; exec p_demo; 其中的exec p_demo;在oracle里是不是可以就这样直接调用存储过程呢?其中的set serveroutput on;又是什么意思?
老大,我知道你为什么可用分不够了。什么问题都上来问,当然不够啦!!1。在sqlplus中,exec 过程名(参数);(如果有参数的话) 2。将v_addr显示出来 3。捕捉异常;你不用也行 4。set serveroutput on 就是让你的输出打印出来,即显示出来。 over 你应该找本书看看。
as
v_num number; -----声明一个整型变量 v_num
begin
select count(1) into v_num from aa; ---查出表aa的记录数,然后赋予变量v_num
end kk;
实际上可以这样写 select count(*) into v_num from aa;
你可以再加一句:dbms_output.put_line(v_num);查看v_num的值。
begin
insert into table_user(id,name) values(table_user.nextval,'yourname');
commit;
end;
这个存储过程的as后面咋没有参数啊?并且这个pro_name后面还跟了个参数?
2:上面那个参数咋在as之后啊?这两种写法效果是不是一样的?
3:as的作用是什么啊?怎么有的存储过程as后面有东西,有的没有?
过程名后面括号中的参数是调用这个过程时的参数;
有没有as是看需要,这个过程就不需要,只是做了一个简单的插入记录;
v_addr varchar2(12);
begin
select address into v_addr from tbname where id='1';
dbms_output.put_line(v_addr);
exception when others then
dbms_output.put_line('sql error!');
end p_demo;
/
功能:找到id=1的address,显示出来
set serveroutput on;
exec p_demo;
这个存储过程里面dbms_output.put_line(v_addr);一句有什么用?3:其中的:exception when others then
dbms_output.put_line('sql error!');有什么用?是不是必须的?4:set serveroutput on;
exec p_demo;
其中的exec p_demo;在oracle里是不是可以就这样直接调用存储过程呢?其中的set serveroutput on;又是什么意思?
2。将v_addr显示出来
3。捕捉异常;你不用也行
4。set serveroutput on 就是让你的输出打印出来,即显示出来。
over
你应该找本书看看。