现有三个表结构如下:
表1:工资表
create table t_salary
(
预编单位ID VARCHAR2(50),
功能科目 VARCHAR2(50),
员工编号 VARCHAR2(50),
员工姓名 VARCHAR2(50),
身份证号码 VARCHAR2(50),
工资账号 VARCHAR2(50),
工资类型 VARCHAR2(50)
)
表2:功能科目表
create table T_SALARY_FUNCITEM
(
ITEMID NUMBER(9),
预编单位ID NUMBER(22),
科目ID NUMBER(22),
FILTER VARCHAR2(200),--主要是插入这个字段和下面字段
FILTERNAME VARCHAR2(200),--主要是插入这个字段
EXPECONORMIC NUMBER(9),
PAYTYPE NUMBER(22)
)
表3:功能科目临时表
create table FUN_TEMP
(
科目ID VARCHAR2(200),
FUNCODE VARCHAR2(200),
BDGCODE VARCHAR2(200),
BDGNAME VARCHAR2(200),
PERNAME VARCHAR2(200),
员工编号 VARCHAR2(200),
预编单位ID VARCHAR2(200)
)
现在想在表2“功能科目表”表中插入以下语句:
insert into T_SALARY_FUNCITEM (ITEMID, 预编单位ID, 科目ID, FILTER, FILTERNAME, EXPECONORMIC, PAYTYPE)
values (123, 90, 12769,' SALARYTYPE = ''89'' and PERSONCODE in (2070011685,2070011695) ','工资类型=89并且员工编号hz in (2070011685,2070011686)', 3, 0);说明下:
①、123取值于一序列
②、90取于表2:功能科目表的 预编单位ID
③、SALARYTYPE = ''89'' and PERSONCODE in (2070011685,2070011695) 中只有89和后面括号的数字是变得,89取之于t_salary表的工资类型字段值,2070011685和2070011695取之于t_salary表的员工编号字段值
④、3和0字段不管,固定即可
请大家看看怎么实现上面的插入语句,由于数据较多 手工维护比较麻烦 ,易出错,大家帮小弟解决下 ,万分感谢!!如有疑问请加我QQ:810880571
表1:工资表
create table t_salary
(
预编单位ID VARCHAR2(50),
功能科目 VARCHAR2(50),
员工编号 VARCHAR2(50),
员工姓名 VARCHAR2(50),
身份证号码 VARCHAR2(50),
工资账号 VARCHAR2(50),
工资类型 VARCHAR2(50)
)
表2:功能科目表
create table T_SALARY_FUNCITEM
(
ITEMID NUMBER(9),
预编单位ID NUMBER(22),
科目ID NUMBER(22),
FILTER VARCHAR2(200),--主要是插入这个字段和下面字段
FILTERNAME VARCHAR2(200),--主要是插入这个字段
EXPECONORMIC NUMBER(9),
PAYTYPE NUMBER(22)
)
表3:功能科目临时表
create table FUN_TEMP
(
科目ID VARCHAR2(200),
FUNCODE VARCHAR2(200),
BDGCODE VARCHAR2(200),
BDGNAME VARCHAR2(200),
PERNAME VARCHAR2(200),
员工编号 VARCHAR2(200),
预编单位ID VARCHAR2(200)
)
现在想在表2“功能科目表”表中插入以下语句:
insert into T_SALARY_FUNCITEM (ITEMID, 预编单位ID, 科目ID, FILTER, FILTERNAME, EXPECONORMIC, PAYTYPE)
values (123, 90, 12769,' SALARYTYPE = ''89'' and PERSONCODE in (2070011685,2070011695) ','工资类型=89并且员工编号hz in (2070011685,2070011686)', 3, 0);说明下:
①、123取值于一序列
②、90取于表2:功能科目表的 预编单位ID
③、SALARYTYPE = ''89'' and PERSONCODE in (2070011685,2070011695) 中只有89和后面括号的数字是变得,89取之于t_salary表的工资类型字段值,2070011685和2070011695取之于t_salary表的员工编号字段值
④、3和0字段不管,固定即可
请大家看看怎么实现上面的插入语句,由于数据较多 手工维护比较麻烦 ,易出错,大家帮小弟解决下 ,万分感谢!!如有疑问请加我QQ:810880571
select 'insert into T_SALARY_FUNCITEM (ITEMID, AGENCY, EXPFUNC, FILTER, FILTERNAME, EXPECONORMIC, PAYTYPE) values (S_SALARYFUNCITEM.nextval,'''
--||(select itemid from t_pubbdgdivision A WHERE a.code=(SELECT 单位代码 FRO ))
||单位id||''','''
||功能科目id||''','''
||(SALARYTYPE = ''(SELECT 工资类型 FROM T_SALARY)'' and PERSONCODE in (select 员工编号 from t_salary where 工资类型='') .... 写不出来 不知道描述的还有哪里不清楚 请大家说出来 我再解释
select 'insert into T_SALARY_FUNCITEM (ITEMID, AGENCY, EXPFUNC, FILTER, FILTERNAME, EXPECONORMIC, PAYTYPE) values (S_SALARYFUNCITEM.nextval,'''
--||(select 预编单位ID FROM t_salary))
||单位id||''','''
||功能科目id||''','''
||(SALARYTYPE = ''(SELECT 工资类型 FROM T_SALARY)'' and PERSONCODE in (select 员工编号 from t_salary where 工资类型='') .... 写不出来 不知道描述的还有哪里不清楚 请大家说出来 我再解释