存储过程

--以下存储过程 实现了,输入参数 0,找出对应数据表中性别 为难的记录,输入参数 为1,找出性别为女的,输入其--它,找出性别一栏为空的记录 


create or replace procedure P_TEST_SQL1(val number)

is
TYPE ref_cursor_type IS REF CURSOR;  
v_sex zhouqi_0208.sex%type;


v_sql varchar2(1000);
v_sal zhouqi_0208%rowtype;
usrs ref_cursor_type;
begin
 if val=0 then 

  v_sex :='男';

--在单引号中再添加 单引号,要用两个单引号

  v_sql := 'select * from zhouqi_0208 where sex='''||v_sex||'''';
  elsif val=1 then
  v_sex :='女';
  v_sql := 'select * from zhouqi_0208 where sex='''||v_sex||'''';
  else
  v_sql := 'select * from zhouqi_0208 where sex is null';
  end if;
  --打开游标
  open usrs for v_sql ;
  loop
      fetch usrs into v_sal;
      exit when usrs%notfound;
      dbms_output.put_line('name:'||v_sal.name||'sex:'||v_sal.sex||'job:'||v_sal.job||'age:'||v_sal.age||'salary:'||v_sal.salary);
  end loop;
  close usrs;

end P_TEST_SQL1;


****************************************************

select lastname || 'work in' || department_id from tablename;
select last_name ||
'''s salary
is ' || sa
lary 员工月薪 from employ
ees;
~~~
注:在单引号中还要使用单引号的话,就必须使用两个单引号来实现一个单引号的功能。  



**********************************
create or replace procedure PRU_TEST
is
insert_str varchar2(200);
begin    
   insert_str := 'insert into profession_skill values(9,''无心'',1,''10000'')';
    execute immediate insert_str;
    commit;
end;
 

--在写上面代码的时候,插入数据,发现使用双引号",虽然存储过程编译通过,但是无法插入。
之后,想到,在单引号'中再加单引号要转义,要加两个单引号'';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值