2012-05-31 90 views
0

我寫的程序,將數據複製到txt文件程序低於上述progarm的如何根據數據類型

declare 
empsfile utl_file.file_type; 
cursor empscur is 
select * from newemp; 
begin 
empsfile := utl_file.fopen('DIPRJDIR','EMPS.TXT','W'); 
for rec in empscur 
loop 
utl_file.put_line(empsfile,rec.EMPNO||rec.ENAME||rec.JOB||rec.MGR||rec.HIREDATE||rec.SAL||rec.COMM||rec.DEPTNO); 
end loop; 
UTL_FILE.FCLOSE(empsfile); 
EXCEPTION 
WHEN OTHERS THEN 
    DBMS_OUTPUT.PUT_LINE('ERROR -->' || SQLERRM); 
END; 
/

輸出被送給是

7839KING  PRESIDENT017-NOV-815000010 
7698BLAKE  MANAGER 783901-MAY-812850.5.530 
7782CLARK  MANAGER 783909-JUN-812450010 
7566JONES  MANAGER 783902-APR-812975020 
7654MARTIN SALESMAN 769828-SEP-811250140030 
7499ALLEN  SALESMAN 769820-FEB-81160030030 
7844TURNER SALESMAN 769808-SEP-811500030 
7900JAMES  CLERK 769803-DEC-81950030 
7521WARD  SALESMAN 769822-FEB-81125050030 
7902FORD  ANALYST 756603-DEC-813000020 
7369SMITH  CLERK 790217-DEC-80800020 
7788SCOTT  ANALYST 756609-DEC-823000020 
7876ADAMS  CLERK 778812-JAN-831100020 
7934MILLER CLERK 778223-JAN-821300010 

現在我的問題是我想要施展的空間根據上面字段的數據類型顯示空間例如假設ENAME VARCHAR2(10)比如果數據中的名稱是6字段比我要顯示4空格請幫助我這個。

回答

1

LPAD功能可以幫助您嗎?

utl_file.put_line(empsfile,rec.EMPNO||LPAD(rec.ENAME,10,' ')||rec.JOB||rec.MGR||rec.HIREDATE||rec.SAL||rec.COMM||rec.DEPTNO); 
+0

EKA你我的權利,甚至我做了同樣的這一點非常感謝 –

相關問題