How to execute a query in varchar2 ?

方法一:   EXECUTE IMMEDIATE
DECLARE 
dd          date;
LC$Requete        VARCHAR2(256) ;
BEGIN
LC$Requete:= 'SELECT sysdate from dual';
EXECUTE IMMEDIATE LC$Requete INTO dd ;
dbms_output.put_line(dd);
END ;
/

 

方法二:    游标  CURSOR
conn scott/tiger;

set serveroutput on ;
set linesize 150;

select * from emp;

DECLARE
TYPE EmpCurTyp IS REF CURSOR;
emp_cv EmpCurTyp;
v_name emp.ename%TYPE;
v_sal emp.sal%TYPE;
my_sal NUMBER := 200;
table_name VARCHAR2(30) := 'emp';
BEGIN
OPEN emp_cv FOR 'SELECT ename, sal FROM ' || table_name ||
' WHERE sal > ' || my_sal;
LOOP
FETCH emp_cv into v_name, v_sal;
EXIT WHEN emp_cv%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(v_name || ' ' || v_sal);
END LOOP;
CLOSE emp_cv;
END;
/

 

 

Losers always whine about their best; Winners go home and fuck the prom queen.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值