三個表關聯更新資料

2021-08-16 09:15:35 字數 1119 閱讀 4124

問題:

想寫乙個sql, 按照  使用者現在所屬的部門 ,更新需求表中的 duty_deptid, duty_deptname, duty_deptnameall  這三個字段值。

其中  xq需求表中字段duty_userid , duty_username , duty_deptid, duty_deptname, duty_deptnameall  。user使用者表中字段userid ,username ,  fk_deptid   。 dept部門表中字段deptid ,deptname,deptnamall  。  使用者表的 fk_deptid是外來鍵,關聯部門表中的deptid。大致情況是這樣的,這麼提問能清楚嗎?這個句子改怎麼寫呢。

解決辦法,寫乙個程序

create or replace procedure pro_updateldxq

(p_username varchar2 --使用者名稱)is

v_deptid number(10);--部門id

v_userid number(10);-- 使用者id

v_deptname varchar2(100);--部門id

v_deptnameall varchar2(300);--部門全稱

begin

select fk_deptid,user_id into v_deptid,v_userid from oy_user where username = p_username and ifdeleted = 0;

select deptname,deptnameall into v_deptname,v_deptnameall from oy_department where deptid = v_deptid;

update ld_xqinfo set duty_deptid = v_deptid,duty_deptname = v_deptname,duty_deptnameall = v_deptnameall where duty_userid = v_userid;

commit;

end;

附件

然後:call pro_updateldxq('朱先鋒');

資料庫表三個正規化

通俗地理解三個正規化 通俗地理解是夠用的理解,並不是最科學最準確的理解 第一正規化 1nf是對屬性的原子性約束,要求屬性具有原子性,不可再分解 第二正規化 2nf是對記錄的惟一性約束,要求記錄有惟一標識,即實體的惟一性 同一表中消除部分依賴 第三正規化 3nf是對字段冗餘性的約束,即任何字段不能由其...

oracle關聯表更新

如果有a表和b表,sql server中用 update a set field2 b.filed2 from a,b where a.field1 b.field1搞定,所以用慣了sql server的更新表語句,再用oracle的那真是特別的拗口。情景一 如果只是更新固定值,oracle和sql...

tcp socket修改三個表

insert into mes adapter adapterid,adaptertype,adaptername,adapterstate,createdate,updatedate,techname,endname,description,packagename,srfun,rfun,macfu...