상용 노트 -- Oracle

4026 단어 Oacle
개발 자 블 로그: www.developsearch.com
 
 
Oracle 커서 사용 현황 조회 방법
   select * from v$open_cursor where user_name = 'TRAFFIC';
 
Oracle 세 션 조회 방법
   select * from v$session
 
dba 사용자 가 sqlplus 에 로그 인 하 는 방법 : 
일반 사용자 로그 인 후 conn sys / "비밀번호" as sysdba   
 
alter table CUSTOMER add is_valid NUMBER(2);comment on column CUSTOMER.is_유효한 is' 테스트 필드 ';
 
when not matched then insert values(src.id,src.data);
 
케이스... when 의 사용
declare 
v_sal number:=2000; 
v_tax number; 
begin 
case 
  when v_sal<1500 then 
   v_tax:=v_sal*0.03; 
  when v_sal<2500 then 
   v_tax:=v_sal*0.04; 
  when v_sal<3500 then 
   v_tax:=v_sal*0.05; 
  when v_sal< 8000 then 
   v_tax:=v_sal*0.08; 
  else 
   v_tax:=v_sal*0.1; 
end case; 
end; 

 실행 완료 후 변수 vtax 의 값 은 얼마 입 니까?cmd 의 sqlplus 는 데이터 베 이 스 를 연결 하고 set server output on 을 실행 합 니 다.콘 솔 의 출력 디 스 플레이 를 열 고 위의 문 구 를 복사 합 니 다. end 에 있 습 니 다.dbmsoutput.put_line(v_tax); 리 턴, 콘 솔 출력: 80
 
따옴표 처리
구분자 앞 뒤 에 작은 따옴표 를 붙 여야 할 뿐만 아니 라 접두사 q 도 있어 야 한다.
I 'm a String!
string_var:=q'[I''m a String!]';
 
 
조회 표 와 필드 의 비고
표 필드 설명 추가
COMMENT ON TABLE "MR DEPT" IS "부서 표";
조회 표 의 비고 정보
SELECT 
  TABLE_NAME, 
  TABLE_TYPE, 
  COMMENTS 
FROM 
  USER_TAB_COMMENTS 
WHERE 
  TABLE_NAME = 'MR_DEPT; 
 

필드 의 비고 정 보 를 조회 합 니 다.
SELECT 
  TABLE_NAME, 
  COLUMN_NAME, 
  COMMENTS 
FROM 
  USER_COL_COMMENTS 
WHERE 
  TABLE_NAME = 'MR_DEPT; 

 
커서 추가 줄 공유 잠 금 으로 데 이 터 를 업데이트 하거나 삭제 합 니 다.
declare   
cursor emp_cursor is   

--       3    
select t.name,t.english_name from communitytype t for update;   
--select t.name,t.english_name from communitytype t for update of t.name;  --  of            
--select t.name,t.english_name from communitytype t for update nowait; --                   ,  nowait          


--       
v_name communitytype.name%type;   
v_enname communitytype.english_name%type;   

begin   
open emp_cursor;   
loop   
fetch emp_cursor into v_name,v_enname;   
exit when emp_cursor%notfound;   
if v_name = '    ' then   
update communitytype c   
set c.english_name = 'ebook'  
where current of emp_cursor;   
end if;   
end loop;   
close emp_cursor;   
commit;   
end;  

 
for 순환
declare
dabing varchar2(100);
dabing2 varchar2(100);
ls_sql Varchar2(4000)
i number;
begin
   for i in 1..8 loop
     dabing:='macc.xhy_all_sum_20090'||i;
     dabing2:='dabing_100'||i;
     ls_sql:='Create table '||dabing2||' As select * from '||dabing;
     Execute Immediate ls_sql;
   end loop;
end; 

WHILE J < LEN LOOP
      IF J = 0 THEN
          EXIT;
      ELSE
          ...
      END IF;
END LOOP;
 
OBJ 참조 검출DIST_CODE 의 대상 ARROBJ_DIST_CODE 는 이 스 크 립 트 가 반복 적 으로 실 행 될 수 있 도록 삭제 합 니 다.
DECLARE V_COUNT NUMBER;
BEGIN
   SELECT COUNT(*)
   INTO V_COUNT
   FROM USER_TYPES T WHERE T.TYPE_NAME=UPPER('ARR_OBJ_DIST_CODE');
   IF V_COUNT > 0 THEN
      EXECUTE IMMEDIATE 'DROP TYPE ARR_OBJ_DIST_CODE';
   END IF;
END;

 개발 자 블 로그: www.developsearch.com
 

좋은 웹페이지 즐겨찾기