레이블이 oracle rownum인 게시물을 표시합니다. 모든 게시물 표시
레이블이 oracle rownum인 게시물을 표시합니다. 모든 게시물 표시

2013년 10월 15일 화요일

오라클 동의어(Oracle Synonym) 오라클 동의어(Oracle Synonym) - 테이블, 뷰, 시쿼스에 대한 별칭

오라클 동의어(Oracle Synonym)

오라클 동의어(Oracle Synonym)
- 테이블, 뷰, 시쿼스에 대한 별칭, 동의어
- public, private로 생성 가능
- Public synonym은 생성할 수 있는 권한이 있는 user만이 만들 수 있으며, 모든 user들이 사용할 수 있다.

[문법]
CREATE [PUBLIC] SYNONYM 
 synonym명 FOR object;
DROP [PUBLIC] SYNONYM synonym명; 
[예]
CREATE SYNONYM emp FOR scott.emp;
DROP SYNONYM emp;
 

SQL> conn system/onj
 
SQL> SELECT * FROM s_emp;
(* Error 발생)
 
SQL> SELECT * FROM scott.s_emp;
(* system user는 SELECT ANY TABLE 권한을 가지고 있으므로 성공)
 
SQL> CREATE SYNONYM s_emp FOR scott.s_emp;
 
SQL> SELECT * FROM s_emp;
 
SQL> CREATE TABLE s_emp (a number);
(* Error 발생)
 
Base table의 이름이 바뀌면 Synonym은 더 이상 사용할 수 없게 된다.

SQL> conn scott/tiger

SQL> RENAME s_emp TO e;

SQL> conn system/manager

SQL> SELECT * FROM s_emp;
(* 에러 발생)

SQL> conn scott/tiger

SQL> RENAME e TO s_emp;


오라클자바커뮤니티에서 설립한 개발자교육6년차 오엔제이프로그래밍 실무교육센터(오라클SQL,튜닝,힌트,자바프레임워크,안드로이드,아이폰,닷넷 실무개발강의)  




2013년 8월 10일 토요일

[ORACLEJAVA교육, 웹퍼블리싱, HTML5, jQuery실무교육]HTML5 개요

HTML5개요 입니다. 참고하세요~

오라클자바커뮤니티에서 설립한 오엔제이프로그래밍 실무교육센터
(오라클SQL, 튜닝, 힌트,자바프레임워크, 안드로이드, 아이폰, 닷넷 실무전문 강의)  


<video width="320height="240" autoplay controls poster="image.jpg">
  <!- mp4 : 사파리, IE9, 아이폰, 아이패드, 안드로이드, 윈도우7 폰버젼 -->
  <source src="video.mp4type="video/mp4">
  <!- WebM : 파이어폭스4, 오페라, 크롬 -->
  <source src="video.webmtype="video/webm">
  <!- ogv : 파이어폭스4 이전버젼 -->
  <source src="video.ogvtype="video/ogv">
</video>
 
5. 다양한 API 지원
 드래그 & 드랍 웹 콘텐츠들을 드래그 할 수 있는 기능 (모든 브라우져에서 지원하지 않음)
 애플리케이션 캐시
 오프라인 상태에서도 애플리케이션을 실행할 수 있도록 지원하는 기능
 웹스토리지
 쿠키처럼 클라이언트 쪽에 데이터를 저장할 수 있는 기능
 Indexed 데이터베이스
 클라이언트에 저장하는 데이터 베이스 기능
 웹 워커
 시간이 오래 걸리는 작업을 백그라운드로 실행하는 기능
 지오로케이션
 PC나 모바일 장치에서 현재 위치를 파악할 수 있게 해주는 기능

 
 
■ HTML5의 문제점

1. HTML5를 지원하지 않는 브라우져의 존재
  - IE6/7/8에서 미지원, IE9에서도 완벽하게 지원하지 않음
  - 2012년 1월 윈도우 XP 점유율은 47%로 앞으로 상당 기간 HTML5가 나아가는데 큰 걸림돌이 될 것으로 보임
    (윈도우 XP는 IE8 버젼까지만 설치가 가능하기 때문에 HTML5를 보기 위해서는 다른 브라우져 설치가 필요함)

2. 저작권 보호 문제 (개발소스, 동영상, 음악)

3. ActiveX의 보안성을 대체할 요소가 없음
  - 은행권, 공공기관에서 사용하는 ActiveX의 보안성을 대체할 요소가 없기 때문에 ActiveX의 사용은 당분간 계속될 것으로 보임
 
■ 브라우저 지원 현황
브라우저VerHTML5 검사 점수[2]
2012년 1월 6일
VerHTML5 검사 점수
2012년 5월 23일[3]
구글 크롬16.0373/47518400
모질라 파이어폭스10.0332/47512345
오페라11.60329/47511.60338
오페라12 알파344/47512.00385
애플 사파리5.1302/4755.1317
인터넷 익스플로러9141/4759138
인터넷 익스플로러10306/47510316
맥스톤--3.3.7437
 
 

2013년 8월 9일 금요일

[oraclejava community, oracle 강좌,oracle교육,구로디지털오라클]oracle date type

----------
Date Type
----------

오라클자바커뮤니티에서 설립한 오엔제이프로그래밍 실무교육센터
(오라클SQL, 튜닝, 힌트,자바프레임워크, 안드로이드, 아이폰, 닷넷 실무전문 강의)  



1. 날짜를 가르키는 값을 Tanle에 저장. 세기를 포함하여 년,월,일시,분,초,등을 저장한다.

2. BC 4712년1월1일부터 AD 4712년 12월31일까지의 날자형식을 저장할수 있다.

3. 7 Byte의 고정길이 Column임.

4. Oracle의 기본날자 형식은 dd-mon-yy, NLS_DATE_FORMAT Parameter를 이용하여 기본형식을 변경할수 있다. 또는 Alter Session Command를 이용하여 해당 sssion기간동안 날자형식을 변경할수도 있다.

5. 표준 Oracle날자 형식이 아닌 형식의 입력을 위해서는 to_date 함수를 이용한다. to_date(‘november 13, 1992’,’month dd, yyyy’)

6. Oracle에서 시간은 24시간 형식(HH:MI:SS)으로 저장한다. 기본적으로 날자 Column의 시간을 입력하지 않은 경우 12:00:00 AM(자정)으로 저장된다. 만약 시간만 입력되면 해당월의 1일이 입력된다. Date의 time부분을 입력하려면 반드시 TO_DATE함수와 format mask를 이용해야 한다.

7.기본적으로 일자나 연산이 빈번히 경우 DATE 타입으로 가져가는 것이 효과적일 수 있지만 시간이 정상적으로 입력된 경우 일자를 '=' 연산으로 비교할 수가 없다. 예를 들면 아래와 같다.

INSERT INTO EMP (EMPNO,ENAME,HIREDATE,DEPTNO)
        VALUES (7777,'BJKIM',TO_DATE('94/03/15 03:20:30','YY/MM/DD HH:MI:SS');

  와 같이 정상적으로 날짜를 입력한후

  SELECT * FROM EMP WHERE HIREDATE = '15-MAR-94';

  을 수행 하더라도 원하는 결과를 도출할 수 없다. 뿐만 아니라 LIKE, SUBSTR등의 함수를
이용하여 스트링(string) 비교를 하고자 할때 제한적으로 밖에 사용할 수 없다. 즉 디폴트
날짜 형태를 기준으로만 비교 가능하다.

예 ) 81년에 입사한 인원을 찾고자 할때

      a.SELECT * FROM EMP WHERE HIREDATE LIKE '%81';
      혹은
      b.SELECT * FROM EMP WHERE SUBSTR(HIREDATE,8,2) = '81';
 
  와 같이 SQL문을 날짜 타입의 기본 형태인 'DD-MON-YY'을 기준으로 스트링 함수를 사용하여야 한다.

예 ) 만일 HIREDATE에 인덱스가 생성 되어 있을때 아래 2가지 SQL문을 수행하게 되면 a의 경우는 인덱스를 사용하지만 b의 경우에는 인덱스를 사용 못하는 일반적
인 문자 타입과의 차이점을 보인다.

SELECT * FROM EMP
WHERE HIREDATE1 = '01-MAR-81';

SELECT * FROM EMP
WHERE HIREDATE1 BETWEEN '01-JAN-81' AND '31-DEC-81';

의 경우는 내부적으로 비교되는 값에서 투데이트 함수를 이용하여 처리를 하지만
의 경우 컬럼 부분이 TO_CHAR을 이용하여 변동되기 때문에 인덱스를 사용할 수 없
다.이와 같은 사항을 주의하여 쿼리문을 수행하여야 한다. 결론적으로 자주 조건절
에 사용되거나, 데이트 연산 기록(logging), 타임 스탬프로 사용되는 컬럼을 제
외하고는 효과적인 수행을 위해 문자  타입 적용을 고려하는 것이 효과적이다.


2013년 8월 4일 일요일

ORACLE ROWNUM

SELECT절에 의해 추출된 데이터(ROW)에 붙는 순번이다. 다시 말해 WHERE절까지 만족 시킨 자료에 붙은 순번이라고 이해를 하길 바란다. WHERE절에 ROWNUM을 이용하여 조건을 주면 다른 조건을 만족시킨 결과에 대해 조건이 반영된다. SELECT 리스트에 ROWNUM을 이용하는 것도 물론 가능하다. 이때 ORDER BY를 사용한다면 WHERE절까지 만족 시킨 결과에 ROWNUM이 붙은 상태로 ORDER BY가 반영된다. 아래의 예문을 이해하자. 




SQL> select rownum, ename, sal from emp
  2  where sal >= 2900;
    ROWNUM ENAME            SAL
---------- ---------- ----------
        1 JONES            2975
        2 SCOTT          3000
        3 KING            5000
        4 FORD            3000
SQL> select rownum, ename, sal from emp
  2  where sal > 2900
  3  order by ename;
    ROWNUM ENAME            SAL
---------- ---------- ----------
        4 FORD            3000
        1 JONES            2975
        3 KING            5000
        2 SCOTT            3000
SQL> select rownum, ename, sal from emp
  2  where sal >= 2900
  3  and rownum < 3;
    ROWNUM ENAME            SAL
---------- ---------- ----------
        1 JONES            2975
        2 SCOTT            3000 


아래 예문도 이해 하세요~


rownum1로 시작해야 작동하는 제한사항이 있으며, 1로 시작하지 않으면 원하는 결과를 뽑지 못한다.

SELECT ROWNUM,ename from emp WHERE ROWNUM BETWEEN 1 and 3;
ROWNUM      ENAME    
----------- ----------
          1 SMITH    
          2 ALLEN    
          3 WARD     
3 rows selected.

SELECT ROWNUM,ename from emp WHERE ROWNUM BETWEEN 2 and 3;
ROWNUM      ENAME    
----------- ----------
0 rows selected.
SQL> SELECT t1.rn,
                   t1.ename
            FROM   (SELECT ROWNUM rn,
                           ename
                    FROM   emp) t1
            WHERE  t1.rn BETWEEN 2 and 3;
RN          ENAME    
----------- ----------
          2 ALLEN    
          3 WARD



[출처] 오라클자바커뮤니티, 오엔제이프로그래밍