declare 
PaID  VARCHAR2(10) ;
strPaInfo_  VARCHAR2(500) ;
InsertSQLStr  VARCHAR2(1024);
begin
strPaInfo_:='\"ffd\",0,1,1,1,6,0';--这是客户端传过来的形式
select clinic.S_61_1_PATIENTINFO_TABLE.nextval into paID
   from dual;
insert into clinic.patientInfo_table (paID,paName, paSexID, MarryInfoID, WorkInfoID, paNationID,NativeInfoID, BloodInfoID, rate) values ( paID ,strPaInfo_, 100);--此处值不够
end;

解决方案 »

  1.   

    你可能没有理解我的意思
    我的意思是实现这样的效果
    insert into clinic.patientInfo_table (paID,paName, paSexID, MarryInfoID, WorkInfoID, paNationID,NativeInfoID, BloodInfoID, rate) values ( paID ,'ffd',0,1,1,1,6,0,100);
      

  2.   

    这段程序是自动生成插入语句并执行插入的。问题主要在strPaInfo_变量值的获取,按你的程序直接赋值的话,如果数据很多,则很繁琐。你可以把信息存在一个文本文件中,然后用UTL_FILE包中GET_LINE一行一行读入,循环插入。思路是这样的,具体的代码我觉得你应该自己去研究。可以参考有关PL/SQL程序设计方面的书,主要看文件输入输出那部分。在写代码时有什么问题,再提出来问.或许有其它朋友愿意为你写,也说不准,再等等看吧。呵呵,还要靠自己啊。
      

  3.   

    这样啊,那你的程序就实现了。它就是生成
    insert into clinic.patientInfo_table (paID,paName, paSexID, MarryInfoID, WorkInfoID, paNationID,NativeInfoID, BloodInfoID, rate) values ( paID ,'ffd',0,1,1,1,6,0,100);
    这样一个语句存在InsertSQLStr 中
    然后执行之。
    这就可以了,你想问什么,不太明白。