加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

将值插入表Oracle SQL

发布时间:2020-12-12 15:13:12 所属栏目:百科 来源:网络整理
导读:我试图在Oracle SQL中的“Employee”表中插入值.我有一个关于输入由外键确定的值的问题: 我的员工有3个属性,由外键确定:状态,位置和经理.我正在使用INSERT INTO语句插入值并手动输入数据.我需要物理地查看每个引用来输入数据,还是有可以使用的命令?例如.
我试图在Oracle SQL中的“Employee”表中插入值.我有一个关于输入由外键确定的值的问题:

我的员工有3个属性,由外键确定:状态,位置和经理.我正在使用INSERT INTO语句插入值并手动输入数据.我需要物理地查看每个引用来输入数据,还是有可以使用的命令?例如.

INSERT INTO Employee 
(emp_id,emp_name,emp_address,emp_state,emp_position,emp_manager)
VALUES 
(001,"John Doe","1 River Walk,Green Street",3,5,1000)

这应该用(John Doe,1 River Walk,Green Street,New York,Sales Executive,Barry Green)填写员工表.纽约州state_id = 3在状态表中;销售主管职位表中的position_id = 5;而Barry Green在manager_id中为manager_id = 1000.

有没有办法可以输入引用的表的文本值,以便Oracle会识别文本并将其与相关的ID相匹配?我希望这个问题有意义,很乐意澄清一切.

谢谢!

您可以花费以下功能,以便在插入之前从DB中抽出更多参数:
--
-- insert_employee  (Function) 
--
CREATE OR REPLACE FUNCTION insert_employee(p_emp_id in number,p_emp_name in varchar2,p_emp_address in varchar2,p_emp_state in varchar2,p_emp_position in varchar2,p_emp_manager in varchar2) 
RETURN VARCHAR2 AS

   p_state_id varchar2(30) := '';
 BEGIN    
      select state_id 
      into   p_state_id
      from states where lower(emp_state) = state_name;

      INSERT INTO Employee (emp_id,emp_manager) VALUES 
                (p_emp_id,p_emp_name,p_emp_address,p_state_id,p_emp_position,p_emp_manager);

    return 'SUCCESS';

 EXCEPTION 
   WHEN others THEN
    RETURN 'FAIL';
 END;
/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读