当前位置: 首页 > 知识库问答 >
问题:

如何使用PL/SQL检查一个人是否exist然后插入到另一个表中?

呼延博易
2023-03-14

创建一个匿名PL/SQL块,该块根据SQL参数(例如&variable),按姓氏查找员工,用户在EMPLOYEES表(例如King、Kochhar、De Haan、Hunold、Ernst等)中使用有效的last_name响应该参数。如果employee last_name存在于EMPLOYEES表中,那么在OUTPUT_LOG表中插入以下字符串:'employee is is found'。通过检查OUTPUT_LOG表的内容来测试PL/SQL块。您应该找到插入到OUTPUT_LOG表中的字符串。

employee表有以下列EMPLOYEE_ID、FIRST_NAME、LAST_NAME、EMAIL、PHONE_NUMBER、HIRE_DATE、JOB_ID、SALARY、COMMISSION_PCT、MANAGER_ID、DEPARTMENT_ID

output_log表只有一列VARCHAR2(250),称为data和id列作为主键

我正在努力检查表中是否有名字。我想用

 begin 
SELECT e.LAST_NAME as LAST_NAME, o.data
INTO OUTPUT_LOG
FROM EMPLOYEES as e, OUTPUT_LOG as O  
WHERE e.employee_id = o.id
 end;

共有1个答案

家浩瀚
2023-03-14

由于这似乎是一个家庭作业问题,我不打算为您解决所有问题,但(为了帮助您)您可以使用select...into,如果没有找到一行,它将引发一个no_data_found异常,您可以捕获该异常(并使用该异常绕过insert)。类似于这样:

DECLARE
  p_found NUMBER(1,0);
BEGIN
  SELECT 1
  INTO   p_found
  FROM   Employees
  WHERE  ROWNUM = 1
  AND    last_name = 'King'; -- replace with your where condition

  -- then do the insert here (since it will only reach this point if
  -- a row was found).
EXCEPTION
  WHEN NO_DATA_FOUND THEN
    NULL;
END;
/
 类似资料:
  • 目前,我在postgres中有一些重复的表A和表B,我只想选择表A中存在但表B中不存在的行,这是左连接的一种形式吗? 实现这一目标的最佳方式是什么?

  • 我得到 我怀疑这是因为两者都是。

  • 我试图在从一个表创建一个值后将其插入另一个表我有两个数据库“mem”和“location” 我想从mem表中添加主键id,并将其插入到位置表中的user_id列中。 我有一个sql查询在我的注册表单页面,自动递增'id'在mem表中,但似乎没有添加相同的值到位置表中的user_id, 有人能帮忙吗!

  • 问题内容: 我想知道是否可以检查内部使用什么收藏? 例如,在我的控制器中,我有2个从服务器获取的数据数组,现在我用来在它们之间进行切换,检查此jsbin- http: //jsbin.com/diyefevi/1/edit?html,js,output 问题是我的实际应用程序中的这些视图很大,但非常相似..所以我真的想 使用1而不是2。 所以我想知道在Angular中是否有可能实现? 谢谢! 问题

  • 问题内容: 在我的PostgreSQL 9.4 数据库中,我有一个表,该表的列具有唯一值。 我正在创建具有相似结构(此处不重要)和一列的新表。我需要一种方法来限制要插入的值,使其不存在于中。 例如,如果包含值 ‘color’ 和 ‘length’ ,则需要防止包含 ‘color’ 或 ‘length’ 值。因此,换句话说,我需要提供两个表中的列之间没有任何重复的值。约束应该是双向的。 问题答案:

  • 我有一个函数,它打开一个模式,并根据如下条件在对话框中显示错误消息 因此,正如您所看到的,我添加了一个要显示在对话框上的链接,但我如何确定用户何时点击了该链接?然后我希望它调用一个按钮点击 以便最终调用对话框关闭选项 所以基本上,当一个链接被点击时,它会将你重定向到那个页面,并为你关闭对话框。