Set ServerOutput on size 100000;
declare
countTab number := 0;
countCol number := 0;
currDate varchar2(30);
scale number := 0;
Begin
select count(*) into countCol from USER_TAB_COLUMNS where TABLE_NAME = 'EVAPP_INTERFACE' and COLUMN_NAME = 'TARGET_AMNT_LTV_NUM' and DATA_SCALE is null;
IF (countCol <> 0) then
DBMS_OUTPUT.put_line(' EVAPP_INTERFACE.TARGET_AMNT_LTV_NUM values begin');
execute immediate 'select APPSEQNO, TARGET_AMNT_LTV_NUM from evapp_interface where TARGET_AMNT_LTV_NUM > 999999999999';
END IF;
END;
\
선택 쿼리의 결과를 표시하려고합니다. 내가 선택한 문을 그대로 실행 해 보았지만 언급 된 열을 찾을 수 없다는 예외를 제공합니다. 그래서 열의 테이블 이름을 넣으려고했는데 INTO
을 사용할 필요가 있다고 불평했습니다.뿐만 아니라 그 구문도 마음에 들지 않았습니다. 당신은 커서를 열 필요 것, 가져 오기 당신의 SQL * Plus 사용하는 가정Select 문의 Pl/SQL 표시 결과
이고 DATA_SCALE이 null입니까? 테이블의 열 USER_TAB_COLUMNS – Nathan
@ Nathan - [예.] (http://docs.oracle.com/cd/E14072_01/server.112/e10820/statviews_5459.htm); '숫자의 소수점 이하 자릿수'. –