难以理解NEXTVAL和CURRVAL

时间:2017-07-11 19:55:59

标签: oracle plsql

我确实搜索了类似的问题,但如果我忽略了现有的答案,我很高兴被重定向到那里。

我正在努力解决由长期离职的开发人员编写的遗留系统中的Oracle存储过程。

该过程的重点是将用户数据上传到批量收集中的现有表结构中,并节省添加1-x-1记录的击键时间。

该过程似乎没有错误,用户组希望扩展它以允许将其他数据加载到单独但相关的表中。

当使用CSV数据添加新记录时,作者使用NEXTVAL和CURRVAL命令添加主键信息。

但我很困惑,因为我对NEXTVAL / CURRVAL的理解是他们需要正确使用上下文和声明。

例如,Proceedure具有以下内容:

SELECT seq_site.nextval INTO v_curr
FROM DUAL;

UPDATE temp_table
SET site_id = seq_site.currval

但是,在程序的前面几行中没有声明[SEQ_SITE]。

我是否正确推断条款[SELECT seq_site.nextval INTO v_curr]是[SEQ_Record_count]的声明?

(... v_curr在过程声明btw中早期声明为整数...)

0 个答案:

没有答案