写存储过程的时候往往想查一个表,然后从表中取出一个结果当作变量来用,但是表名需要拼接,只能写到v_sql字符串里然后再用EXECUTE IMMEDIATE 执行。可以用
EXECUTE IMMEDIATE v_sql INTO 变量 来获取想要的值
v_sql := 'SELECT MAX(REDODATE)
FROM (SELECT DISTINCT T.REDODATEFROM ' || 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;
本文详细介绍了如何在SQL环境中通过存储过程实现查询特定表中的最大REDO_DATE,并将该结果作为变量使用。通过构建动态SQL字符串,文章演示了如何灵活地从表中获取所需信息。

1180

被折叠的 条评论
为什么被折叠?



