您的位置:首页 > 数据库

PL/SQL里拼接SQL的查询结果赋值给一个变量

2015-07-23 16:19 471 查看
写存储过程的时候往往想查一个表,然后从表中取出一个结果当作变量来用,但是表名需要拼接,只能写到v_sql字符串里然后再用EXECUTE IMMEDIATE 执行。可以用

EXECUTE IMMEDIATE v_sql INTO 变量 来获取想要的值

 

v_sql := 'SELECT MAX(REDODATE)

          FROM (SELECT DISTINCT T.REDODATE

          FROM ' || TABLE_HEAD || 'FIN_DIFMID T

          WHERE t.datatime = '''|| V_DDT ||'''

          AND t.redodate < ''' || redomonth || '''

          ORDER BY T.REDODATE DESC)

          WHERE ROWNUM = 1';

     EXECUTE IMMEDIATE v_sql INTO v_redomonth;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle