【发布时间】:2017-08-15 13:09:38
【问题描述】:
我在 SQL Developer 中有两个不同的表,TB_Temp 和 TB_Main。我只想比较这些表中的两列,例如。我想比较tb_temp 中的user_id 列和tb_main 中的user_payment 列。
这两个表都是从 Excel 文件中导入的。例如,如果有匹配项,我希望它使用dbms_output 日志记录仅输出一个调试。
到目前为止,我有;这是我与IF 声明的比较部分!这两个表包含将不断上传新信息的值,因此我得到的是我实际上不能声明存储在表中的值,因为如果有意义的话它们总是会改变?我只需要知道列是否匹配,那么就需要有一个输出!
create PROCEDURE PR_TEST AS
user_payment number;
CURSOR c is
SELECT user_payment
FROM tb_main;
CURSOR tmp is
SELECT *
FROM tb_temp
WHERE user_ref is null or user_ref = user_payment
cTemp%ROWTYPE
BEGIN
--loop through cursor---
cTemp_COUNT:=0;
FOR I IN cTemp LOOP
end loop
【问题讨论】:
-
在您对@Ghost 的评论中,您说这些字段将是未知的。您的意思是如果任何字段的值与任何其他字段匹配,您是否需要标记?请您编辑您的问题以明确您想要做什么。
-
@JonathanWillcock 我编辑了我的问题以使其更清楚
-
值会改变,但是字段名称是否不变,是否只有这两个字段(user_payment和user_ref)需要比较?
-
@JonathanWillcock User_payment (tb_main) 和 User_ref(tb_temp) 保持不变,需要在可能匹配的情况下进行比较是的!
-
您所追求的结果集是什么?来自这两个匹配项的所有记录:来自 tb_main 的所有记录和来自 tb_temp 的相关信息?你知道什么是join吗?blog.codinghorror.com/a-visual-explanation-of-sql-joins
标签: sql oracle if-statement stored-procedures