怎么快速动态给AdoQeury的SQL赋值?求最佳方法
如何快速动态给AdoQeury的SQL赋值?求最佳方法!
如题,有一条 120行的SQL语句,如何快速的传给AdoQeury的SQL ?
比如把
select bas_no mr_no,sex,ceil((admission_date_time-date_of_birth)/365) age,
to_char(date_of_birth,'YYYY-MM-DD') csny,marital_status
转换为:
s:=s+ 'select bas_no mr_no,sex,ceil((admission_date_time-date_of_birth)' +
'/365) age, to_char(date_of_birth,''YYYY-MM-DD'') csny,marital_status '
这种格式。
如果语句只有几行到没什么,要是上百行怎么快速、准确的处理?
首先排除loadformfile的办法,因为语句为了防止串改,是不能写在文本文件里的,求最佳办法!
//-------- zy_pat_master
select bas_no mr_no,sex,ceil((admission_date_time-date_of_birth)/365) age,
to_char(date_of_birth,'YYYY-MM-DD') csny,marital_status ,OCCUPATION_NAME,Nation,v.visit_id,v.charge_type,
to_char(v.admission_date_time,'YYYY-MM-DD') admission_date, dd1.dept_name,p.pat_condition_name ,dc.Diagnosis_code, n.Diagnosis_desc,
to_char(n.DIAGNOSIS_DATE,'YYYY-MM-DD') zdrq,to_char(v.Discharge_date_time,'YYYY-MM-DD') cyrq, dd2.dept_name , f.diagnosis_code,
f.diagnosis_desc,f.treat_result,
'' diagnosis_code1, '' diagnosis_desc1,''treat_result1,
'' diagnosis_code2, '' diagnosis_desc2,''treat_result2,
'' diagnosis_code3, '' diagnosis_desc3,''treat_result3,
'' diagnosis_code4, '' diagnosis_desc4,''treat_result4,
'' diagnosis_code5, '' diagnosis_desc5,''treat_result5,
'' diagnosis_code6, '' diagnosis_desc6,''treat_result6,
'' diagnosis_code7, '' diagnosis_desc7,''treat_result7,
'' yygrbm,'' yygrmc,'' zljg,'' blzd,'' blmc ,
operation_code,to_char(operating_date,'yyyy-mm-dd'),operation_desc ,HEAL,
'' operation_code2, '' operating_date2, '' operation_desc2 , '' HEAL2 ,
'' operation_code3, '' operating_date3, '' operation_desc3 , '' HEAL3 ,
'' operation_code4, '' operating_date4, '' operation_desc4 , '' HEAL4 ,
'' operation_code5, '' operating_date5, '' operation_desc5 , '' HEAL5 ,
EMER_TREAT_TIMES, ESC_EMER_TIMES , zs, chuangwei,huli,xiyao,zhongcheng,zhongcao,fangshe,huayan,shuyang,
shuxue,shoushu,jiancha,mazui,zhiliao,qita,
to_char(sysdate,'YYYY-MM-DD') tbrq
from pat_master_index m ,pat_visit v , OCCUPATION_DICT d ,diagnosis n , FINAL_CHIEF_DIAGNOSIS f ,dept_dict dd1 ,dept_dict dd2,
PAT_ADM_CONDITION_DICT p ,DIAGNOSTIC_CATEGORY dc ,OPERATION o ,
(
select patient_id ,visit_id,
sum(jiancha) jiancha,
sum(qita) qita,
sum(huayan) huayan,
sum(xiyao) xiyao,
sum(yinger) yinger,
sum(zhenliao) zhenliao,
sum(zhongyao) zhongyao,
sum(chuangwei) chuangwei,
sum(shuxue) shuxue,
sum(jiesheng) jiesheng,
sum(mazui) mazui,
sum(zhiliao) zhiliao,
sum(fangshe) fangshe,
sum(shoushu) shoushu,
sum(shuyang) shuyang,
sum(zhongcao) zhongcao,
sum(zhongcheng) zhongcheng,
sum(huli) huli,
sum(peichuang) peichuang
from
(
select med.patient_id,med.visit_id,
decode(fee_type,'检查',costs,0) jiancha,
decode(fee_type,'其他',costs,0) qita,
decode(fee_type,'化验',costs,0) huayan,
decode(fee_type,'西药',costs,0) xiyao,
decode(fee_type,'婴儿',costs,0) yinger,
decode(fee_type,'诊疗',costs,0) zhenliao,
decode(fee_type,'中药',costs,0) zhongyao,
decode(fee_type,'床位',costs,0) chuangwei,
如题,有一条 120行的SQL语句,如何快速的传给AdoQeury的SQL ?
比如把
select bas_no mr_no,sex,ceil((admission_date_time-date_of_birth)/365) age,
to_char(date_of_birth,'YYYY-MM-DD') csny,marital_status
转换为:
s:=s+ 'select bas_no mr_no,sex,ceil((admission_date_time-date_of_birth)' +
'/365) age, to_char(date_of_birth,''YYYY-MM-DD'') csny,marital_status '
这种格式。
如果语句只有几行到没什么,要是上百行怎么快速、准确的处理?
首先排除loadformfile的办法,因为语句为了防止串改,是不能写在文本文件里的,求最佳办法!
//-------- zy_pat_master
select bas_no mr_no,sex,ceil((admission_date_time-date_of_birth)/365) age,
to_char(date_of_birth,'YYYY-MM-DD') csny,marital_status ,OCCUPATION_NAME,Nation,v.visit_id,v.charge_type,
to_char(v.admission_date_time,'YYYY-MM-DD') admission_date, dd1.dept_name,p.pat_condition_name ,dc.Diagnosis_code, n.Diagnosis_desc,
to_char(n.DIAGNOSIS_DATE,'YYYY-MM-DD') zdrq,to_char(v.Discharge_date_time,'YYYY-MM-DD') cyrq, dd2.dept_name , f.diagnosis_code,
f.diagnosis_desc,f.treat_result,
'' diagnosis_code1, '' diagnosis_desc1,''treat_result1,
'' diagnosis_code2, '' diagnosis_desc2,''treat_result2,
'' diagnosis_code3, '' diagnosis_desc3,''treat_result3,
'' diagnosis_code4, '' diagnosis_desc4,''treat_result4,
'' diagnosis_code5, '' diagnosis_desc5,''treat_result5,
'' diagnosis_code6, '' diagnosis_desc6,''treat_result6,
'' diagnosis_code7, '' diagnosis_desc7,''treat_result7,
'' yygrbm,'' yygrmc,'' zljg,'' blzd,'' blmc ,
operation_code,to_char(operating_date,'yyyy-mm-dd'),operation_desc ,HEAL,
'' operation_code2, '' operating_date2, '' operation_desc2 , '' HEAL2 ,
'' operation_code3, '' operating_date3, '' operation_desc3 , '' HEAL3 ,
'' operation_code4, '' operating_date4, '' operation_desc4 , '' HEAL4 ,
'' operation_code5, '' operating_date5, '' operation_desc5 , '' HEAL5 ,
EMER_TREAT_TIMES, ESC_EMER_TIMES , zs, chuangwei,huli,xiyao,zhongcheng,zhongcao,fangshe,huayan,shuyang,
shuxue,shoushu,jiancha,mazui,zhiliao,qita,
to_char(sysdate,'YYYY-MM-DD') tbrq
from pat_master_index m ,pat_visit v , OCCUPATION_DICT d ,diagnosis n , FINAL_CHIEF_DIAGNOSIS f ,dept_dict dd1 ,dept_dict dd2,
PAT_ADM_CONDITION_DICT p ,DIAGNOSTIC_CATEGORY dc ,OPERATION o ,
(
select patient_id ,visit_id,
sum(jiancha) jiancha,
sum(qita) qita,
sum(huayan) huayan,
sum(xiyao) xiyao,
sum(yinger) yinger,
sum(zhenliao) zhenliao,
sum(zhongyao) zhongyao,
sum(chuangwei) chuangwei,
sum(shuxue) shuxue,
sum(jiesheng) jiesheng,
sum(mazui) mazui,
sum(zhiliao) zhiliao,
sum(fangshe) fangshe,
sum(shoushu) shoushu,
sum(shuyang) shuyang,
sum(zhongcao) zhongcao,
sum(zhongcheng) zhongcheng,
sum(huli) huli,
sum(peichuang) peichuang
from
(
select med.patient_id,med.visit_id,
decode(fee_type,'检查',costs,0) jiancha,
decode(fee_type,'其他',costs,0) qita,
decode(fee_type,'化验',costs,0) huayan,
decode(fee_type,'西药',costs,0) xiyao,
decode(fee_type,'婴儿',costs,0) yinger,
decode(fee_type,'诊疗',costs,0) zhenliao,
decode(fee_type,'中药',costs,0) zhongyao,
decode(fee_type,'床位',costs,0) chuangwei,