블로그 이미지
가야금마스터

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

Tag

2015. 5. 19. 23:03 카테고리 없음
<form name='form이름' action ='보내줄 페이지' method='post'>
<input name='input이름' id='input id' value='값'>
</form>
posted by 가야금마스터
2015. 5. 10. 22:49 유닉스/명령어
crontab

-l (시스템 내 에서의 crontab 검색)

-e (에디터 모드)


# 을 앞에 붙여서 주석을 걸수 있다

abc.sh >> vi abc.sh vi 명령문을 이용하여 sh(쉘)의 내용을 확인 한다.
주석 처리를 해야할 내용이 있으면
abc.sh -e 에디터 기능으로 들어가서 동작하지 않기를 원하는 내용의 앞에 #을 추가 해준다.
나갈때는 :wq 를 입력하여 수정 내용을 저장한다. 수정 후 저장을 하제 않고 나가고 싶을시 :q! 문을 입력하여 저장 없이 에데터 모드에서 나오면 된다.

posted by 가야금마스터
2015. 4. 2. 11:31 spring

Missing artifact com.oracle:ojdbc14:jar:10.2.0.4.0 


pom.xml에서 


<dependency>

<groupId>com.oracle</groupId>

<artifactId>ojdbc14</artifactId>

<version>10.2.0.4.0</version>

</dependency>


추가 할려고 하면 생기는 오류 

원인은 oracle과 maven 라이센스 문제 떄문에 maven 중앙저장소에서 정보를 받을수 없기 떄문

해결방법

<repositories>
<repository>
<id>mesir-repo</id>
<url>http://mesir.googlecode.com/svn/trunk/mavenrepo</url>
</repository>
</repositories>

문구를 추가해주면 해결 됨


'spring' 카테고리의 다른 글

maven 에러 Missing artifact com.sun.jdmk:jmxtools:jar:1.2.1  (0) 2015.04.01
Maven pom.xml dependency를 가진 대상의 scope설정  (0) 2015.04.01
Bean 객체 스캔  (0) 2015.03.31
Annotation  (0) 2015.03.31
Spring Framework 모듈  (0) 2015.03.17
posted by 가야금마스터
2015. 4. 1. 15:07 spring

ArtifactTransferException: Failure to transfer com.sun.jdmk:jmxtools:jar:1.2.1 from https://maven-repository.dev.java.net/nonav/repository was cached in the local repository, resolution will not be reattempted until the update interval of java.net has elapsed or updates are forced. Original error: Could not transfer artifact com.sun.jdmk:jmxtools:jar:1.2.1 from/to java.net (https://maven-repository.dev.java.net/nonav/repository): No connector available to access repository java.net (https://maven-repository.dev.java.net/nonav/repository) of type legacy using the available factories AetherRepositoryConnectorFactory, WagonRepositoryConnectorFactory


Missing artifact com.sun.jdmk:jmxtools:jar:1.2.1


구글링 하면서 라이센스문제라는거 같아서


<exclusion>

<groupId>javax.jms</groupId>

<artifactId>jms</artifactId>

</exclusion>

문구 추가하라고 헀지만 ㅡㅡ 이미 추가했었음 ...

<repository>

  <id>repository.jboss.org-public</id>

  <name>JBoss repository</name>

  <url>https://repository.jboss.org/nexus/content/groups/public</url>

</repository>

추가 해보라고 해서 했지만 달라지는게 없었음...


결론은


maven에서의 log4j의 의존관계 문제란다.... ㅡㅡ;;


<groupId>log4j</groupId>

<artifactId>log4j</artifactId>

<version>1.2.15</version>

1.2.15버전을 사용하면 생기는 문제임 ~  1.2.14버전으로 고쳐주니 에러가 사라지네요~


'spring' 카테고리의 다른 글

Missing artifact com.oracle:ojdbc14:jar:10.2.0.4.0 오류  (0) 2015.04.02
Maven pom.xml dependency를 가진 대상의 scope설정  (0) 2015.04.01
Bean 객체 스캔  (0) 2015.03.31
Annotation  (0) 2015.03.31
Spring Framework 모듈  (0) 2015.03.17
posted by 가야금마스터
2015. 4. 1. 11:58 spring

scope 설정 종류

⒜ compile : scope 설정의 default 값으로 되어있다. test 및 runtime 에도 클래스 패스에 포함된다. 

⒝ provided : 컴파일 시에 필요. JDBC 드라이버 등이 예가 된다. 컴파일 시에는 필요하지 않지만, 실행 시에 필요한 경우

⒞ runtime : 런타임에 필요 JDBC 드라이버 등이 예가 된다. 컴파일 시에는 필요하지 않지만 실행 시에 필요한 경우

⒟ test : 테스트 코드를 컴파일 할떄 필요 테스트시 클래스 패스에 포함되며, 배포시 제외된다.

⒠ system : 명시적으로 해당 JAR를 포함하는 것이 제공되어야 한다는 것을 제외하고 provided와 유사함, artifact는 항상 사용가능하며 레파지토리에서 검색하지 않음

⒡ import (Maven 2.0.9 이후에서 적용) : 이 영역은 <dependencyManagement> 에서 pom의 의존관계에 대해서 사용되므 지정된 POM이 해당  POM의 <dependencyManagement> 영역에 있는 의존관계로 대체됨을 의미함, 이것들이 대체되기 떄문에 import영역의 의존관계들을 실질적으로 의존에 대한 제약에 대해 관여하지 않음.



예)


<dependency>

<groupId>javax.servlet</groupId>

<artifactId>servlet-api</artifactId>

<version>2.5</version>

<scope>provided</scope>

      </dependency>


      <dependency>

<groupId>org.slf4j</groupId>

<artifactId>slf4j-api</artifactId>

<version>${org.slf4j-version}</version>

<scope>runtime</scope>

</dependency>


<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>4.7</version>

<scope>test</scope>

</dependency>




*출처 : http://homo-ware.tistory.com/43,

         http://egloos.zum.com/laydios/v/2789441  

'spring' 카테고리의 다른 글

Missing artifact com.oracle:ojdbc14:jar:10.2.0.4.0 오류  (0) 2015.04.02
maven 에러 Missing artifact com.sun.jdmk:jmxtools:jar:1.2.1  (0) 2015.04.01
Bean 객체 스캔  (0) 2015.03.31
Annotation  (0) 2015.03.31
Spring Framework 모듈  (0) 2015.03.17
posted by 가야금마스터
2015. 3. 31. 12:07 spring

1) 설정 파일에 <context:component-scan> 태그의 base-package 속성으로 지정된 패키지 내의 클래스를 검색하여 자동으로 빈으로 등록하는 기능을 제공

   ⒜ xml 설정 파일에 여러 빈 정보를 추가하지 않고 특정한 클래스를 빈으로 등록 가능

   ⒝ <context:component-scan base-package:"com.bosung" />


2) 스프링 2.0이후

   ⒜ @Repository


3) 스프링 2.5이후

   ⒜ @Component

       ⑴ org.springframework.stereotype.Component

       ⑵ 자동으로 빈으로 등록되게 함

       ⑶ 빈의 이름은 첫 문자만 소문자이고 나머지는 클래스 이름과 동일

       ⑷ 빈의 이름을 지정해 주려면 @Component("myFoo");

       ⑸ @Scope("prototype")으로 빈의 범위를 지정할 수 있음

           org.springframework.context.annotation.Scope

   ⒝ @Service

   ⒞ @Controller

'spring' 카테고리의 다른 글

maven 에러 Missing artifact com.sun.jdmk:jmxtools:jar:1.2.1  (0) 2015.04.01
Maven pom.xml dependency를 가진 대상의 scope설정  (0) 2015.04.01
Annotation  (0) 2015.03.31
Spring Framework 모듈  (0) 2015.03.17
Spring Framework 특징  (0) 2015.03.17
posted by 가야금마스터
2015. 3. 31. 11:55 spring


1) @Required

     ⒜ org.springframework.bean.factory.annotation.Required

     ⒝ 속성 또는 setter 메서드에 필수 속성이 되게함


2) @Autowired

     ⒜ org.springframework.bean.factory.annotation.Autowired 

     ⒝ 속성, 생성자, setter메서드 타입에 의존하는 객체를 삽입해 줌


3) @Qualifier

     ⒜ org.springframework.bean.factory.annotation.Qualifier 

     ⒝ @Aurowired 와 같이 사용

     ⒞ 같은 타입의 빈 객체들이 있을 경우 특정 빈을 사용하도록 함

     ⒟ 설정파일의 <qualifier> 태그의 value 속성의 값을 애노테이션 값으로 사용

         <bean id="foo" class="x.y.foo">

            <qualifier value ="action" />

      @Qualifier

      public void setFoo(@Qualifier("action") Foo foo) {}


4) @Resource  

     ⒜ javax.annotation.Resource

     ⒝ 필요한 자원을 자동으로 연결시켜 줌

     ⒞ name 속성을 이용하면 속성과 이름이 틀릴 때 사용

         @Resource(name="myFoo")

 

5) @PostConstruct, @PreDestroy

     ⒜  javax.annotation.PostConstruct,javax.annotation.PreDestroy;

     ⒝ lifecycle 애노테이션

 

'spring' 카테고리의 다른 글

maven 에러 Missing artifact com.sun.jdmk:jmxtools:jar:1.2.1  (0) 2015.04.01
Maven pom.xml dependency를 가진 대상의 scope설정  (0) 2015.04.01
Bean 객체 스캔  (0) 2015.03.31
Spring Framework 모듈  (0) 2015.03.17
Spring Framework 특징  (0) 2015.03.17
posted by 가야금마스터
2015. 3. 20. 14:57 DB/오라클 SQL 명령어

예제 테이블


CREATE TABLE TEST(

A VARCHAR2(10),

B VARCHAR2(10)

);


INSERT INTO TEST VALUES ('2','516958');

INSERT INTO TEST VALUES ('1','123458');

INSERT INTO TEST VALUES ('1','123458');

INSERT INTO TEST VALUES ('1','458512');

INSERT INTO TEST VALUES ('2','468521');

INSERT INTO TEST VALUES ('2','735196');

INSERT INTO TEST VALUES ('1','794528');




RANK() 함수와 ROW_NUMBER() 함수 정의


RANK() 정의

RANK() 함수는 레코드 단위로 순차적으로 순위 (1부터 출력)를 부여하고 

레코드 단위로 같은 값에 대해서는 동일한 순위를 부여한다.

PARTIRION BY 를 사용하면 전체를 한 그룹으로 보는것이 아니라 PARTITION  BY 에 사용된

컬럼을 지준으로 다르게 그룹을 나누어 순위를 부여한다.

오라클 8i 부터 지원하는 분석함수


공동순위가 있으므로 순위에 비는 숫자가 생깁니다.

중복 값을 허용 하면서 비는 숫자를 없애려면

DENSE_RANK() 사용하면 된다.


RANK() 사용 예제


SELECT A, B, RANK() OVER(ORDER BY A, B) 순위 FROM TEST;

전체

A           B         순위

1     123458      1

1   123458      1

1   458512      3

1   794528      4

2   468521      5

2   516958      6

2   735196      7




SELECT A, B, RANK() OVER(PARTITION BY A ORDER BY A, B) 순위 FROM TEST;

PARTITION BY  적용  A 컬럼을 기준으로 그룹을 나눔

A           B         순위

1   123458      1

1   123458      1

1   458512      3

1   794528      4

2   468521      1

2   516958      2

2   735196      3




ROW_NUMBER() 정의

ROW_NUMBER() 는 레코드 단위로 동일한 값이라도 매번 새로운  순위를 부여한다.

ROW_NUMBER() 함수는 각 PARTITION 내에서 ORDER BY 절에 의해 

정렬된 순서로 유일한 값을 돌려주는 함수이면 ROWNUM 과는 관계가 없습니다.

오라클 8i 부터 지원하는 분석 함수


중복 순위가 없고 모든 값은 유일값을 가지게 된다.


SELECT A, B, ROW_NUMBER () OVER (ORDER BY A, B) 순번 FROM TEST;

전체

A           B         순번

1   123458     1

1   123458     2

1   458512     3

1   794528     4

2   468521     5

2   516958     6

2   735196     7




SELECT A, B, ROW_NUMBER() OVER(PARTITION BY A ORDER BY A, B) 순번 FROM TEST;

PARTITION BY  적용  A 컬럼을 기준으로 그룹을 나눔

A           B         순번

1   123458     1

1   123458     2

1   458512     3

1   794528     4

2   468521     1

2   516958     2

2   735196     3




NTILE () 정의

NTILE 함수는 쿼리의 결과를 N개의 그룹으로 분류하는 기능을 제공


SELECT A, B,

NTILE(2) OVER (ORDER BY A) 그룹1,

NTILE(3) OVER (ORDER BY A) 그룹2,

NTILE(5) OVER (ORDER BY A) 그룹3

FROM TEST;

결과 값 : 

A

그룹1 

그룹2 

그룹3 

1

794528

1

1

1

123458

1

1

1

458512

1

2

1

123458

2

2

2

735196

2

3

2

516958

3

4

2

468521

3

5




* OVER() 함수는 필수 입니다.

* OVER() 함수안의 PARTITION BY 는 미필수 이지만 ORDER BY는 필수 이다.

* PARTITION BY 를 사용하면 출력결과를 하나의 그룹으로 보는것이 아니라

PARTITION BY 에 사용된 컬럼을 기준으로 그룹을 나누어지게 된다.

(순위도 그룹별로 별개로 1부터 부여된다.)



ROW_NUMBER() 응용 예제


A, B 그룹별 A, B 의 출력을 상위 2개만 출력하기


SELECT A, B FROM(

SELECT A, B, ROW_NUMBER() OVER (PARTITION BY A ORDER BY B) 전체 FROM TEST) 

WHERE 전체 <= 2;

결과 값 :

A        B

1 123458

1 123458

2 468521

2 516958




SELECT A, B FROM (

SELECT A, B, ROW_NUMBER() OVER (PARTITION BY A ORDER BY A, B) "중복 제외"

FROM TEST GROUP BY A, B) WHERE "중복 제외" <= 2;

결과 값 :

A        B

1 123458

1 458512

2 468521

2 516958




ROW_NUMBER  응용예제 2

직업별로 급여 합계를 계산해서 급여 합계가 많은 순으로 가장 많은 직업 3개만 출력하기


ROW_NUMBER 사용 안할시

SELECT JOB, "급여 합계" FROM 

(

SELECT JOB, SUM(SAL) "급여 합계" FROM EMP

GROUP BY JOB

ORDER BY "급여 합계" DESC

WHERE ROWNUM < 4;


ROW_NUMBER  사용


SELECT JOB, "급여 합계" FROM

(

SELECT JOB, SUM(SAL) "급여 합계", 

ROW_NUMBER() OVER (ORDER BY SUM(SAL) DESC) NUM

FROM EMP

GROUP BY JOB

)

WHERE NUM < 4;


결과 값 : 

    JOB          결과 합계

MANAGER        8275

ANALYST        6000

SALESMAN        5600




PARTITION BY

PARTITION BY는 select한 결과를 특정 column을 기준으로 나누는 역할을 한다. 여기서는 userid를 기준으로 partition을 나눴다. 그리고 나뉜 partition은 score column을 기준으로 내림차순으로 정렬을 하고, 정렬된 내용을 RANK() OVER를 통해 순서를 매긴다. 마지막으로 한 번 더 select하여 상위 3개를 가져온다






'DB > 오라클 SQL 명령어' 카테고리의 다른 글

오라클 PK 제약조건 만들기  (0) 2015.03.19
오라클 DDL 정의  (0) 2015.03.19
오라클 AUTO_INCREMENT (인서트 자동증가)  (0) 2015.03.19
날짜 명령어 사용 예  (0) 2015.03.16
날짜관련 명령어  (0) 2015.03.16
posted by 가야금마스터
2015. 3. 19. 15:43 DB/오라클 SQL 명령어

테스트 환경


CREATE TABLE STUDENT (

"SID" NUMBER,

"NAME" VARCHAR2(32),

"EMAIL" VARCHAR2(32)

);


INSERT INTO STUDENT VALUES (582812, '한놈', 'a@a.a');

INSERT INTO STUDENT VALUES (582812, '한놈', 'hannom@example.com');

INSERT INTO STUDENT VALUES (582812, '한놈', 'b@b.b');

INSERT INTO STUDENT VALUES (241234, '두식이', 'dusigi@example.com');

INSERT INTO STUDENT VALUES (241234, '두식이', '');

INSERT INTO STUDENT VALUES (372342, '석삼', 'seoksam@example.com');




문제 상황


기본키가 없는 테이블 STUDENT 에서 SID 를 기본키로 하고 싶다.


ALTER TABLE STUDENT ADD CONSTRAINT SID_PK PRIMARY KEY (SID);

SQL 오류: ORA-02437: (SCOTT.SID_PK)을 검증할 수 없습니다 - 잘못된 기본 키입니다.




중복값 확인


SELECT * 

FROM (SELECT SID, COUNT(SID) CNT FROM STUDENT GROUP BY SID)

A WHERE CNT >1;


  SID       CNT

582812      3

241234      2


* SID 에 중복 값이 있다.




중복값 제거


방법 1) 최근 것을 남김

SID 별 입력 역순 조회


SELECT ROWID, 

RANK() OVER(PARTITION BY SID ORDER BY ROWID DESC) RNK,

STUDENT.* 

FROM STUDENT;

 

      ROWID                RNK      SID       NAME           EMAIL

AAASSdAAEAAAAKtAAE 1 241234 두식이 NULL

AAASSdAAEAAAAKtAAD 2 241234 두식이 dusigi@example.com

AAASSdAAEAAAAKtAAF 1 372342 석삼         seoksam@example.com

AAASSdAAEAAAAKtAAC 1 582812 한놈        b@b.b

AAASSdAAEAAAAKtAAB 2 582812 한놈        hannom@example.com

AAASSdAAEAAAAKtAAA 3 582812 한놈        a@a.a


RNK 가 2이상인 것듯을 삭제할 것이다.




삭제 대상 확인


SELECT * FROM STUDENT

WHERE ROWID IN 

(SELECT ROWID FROM(SELECT ROWID, 

  RANK() OVER (PARTITION BY SID ORDER BY ROWID DESC)RNK, 

  STUDENT.* FROM STUDENT)

  WHERE RNK > 1);


   SID      NAME            EMAIL

241234 두식이 dusigi@example.com

582812 한놈      hannom@example.com

582812 한놈       a@a.a




삭제 후 결과 확인


DELETE FROM STUDENT

WHERE ROWID IN 

(SELECT ROWID FROM(SELECT ROWID, 

  RANK() OVER(PARTITION BY SID ORDER BY ROWID DESC) RNK,

  STUDENT.* FROM STUDENT)

  WHERE RNK > 1);

* 3개행이 삭제 되었습니다.


SELECT * FROM STUDENT;


  SID       NAME         EMAIL

582812 한놈       b@b.b

241234 두식이      NULL

372342 석삼       seoksam@example.com




방법2) 잘  입력된 것을 남김

EMAIL 이 잘 입력된 순으로 조회


SELECT ROWID,

RANK() OVER(PARTITION BY SID ORDER BY LENGTH(EMAIL) DESC NULLS LAST,

ROWID DESC) RNK, STUDENT.* FROM STUDENT;


      ROWID                RNK      SID       NAME           EMAIL

AAASSfAAEAAAAK1AAD 1 241234 두식이 dusigi@example.com

AAASSfAAEAAAAK1AAE 2 241234 두식이 NULL

AAASSfAAEAAAAK1AAF 1 372342 석삼    seoksam@example.com

AAASSfAAEAAAAK1AAB 1 582812 한놈       hannom@example.com

AAASSfAAEAAAAK1AAC 2 582812 한놈       b@b.b

AAASSfAAEAAAAK1AAA 3 582812 한놈       a@a.a

RNK 가 2이상인 것들을 삭제할 것이다.




삭제 대상 확인

SELECT * FROM STUDENT

WHERE ROWID IN (SELECT ROWID FROM(SELECT ROWID,

  RANK() OVER(PARTITION BY SID ORDER BY LENGTH(EMAIL) DESC NULLS LAST,

  ROWID DESC) RNK, STUDENT.* FROM STUDENT)

  WHERE RNK > 1);


  SID       NAME       EMAIL

582812 한놈        a@a.a

241234 두식이      NULL

582812 한놈        b@b.b




삭제 후 결과 확인


DELETE FROM STUDENT

WHERE ROWID IN (SELECT ROWID FROM(SELECT ROWID,

  RANK() OVER(PARTITION BY SID ORDER BY LENGTH(EMAIL) DESC NULLS LAST,

  ROWID DESC) RNK, STUDENT.* FROM STUDENT)

  WHERE RNK >1 );

*3개 행이 삭제 되었습니다.


SELECT * FROM STUDENT;


  SID       NAME         EMAIL

582812 한놈    hannom@example.com

241234 두식이 dusigi@example.com

372342 석삼       seoksam@example.com




PK 제약조건 생성 테스트

이제 중복값이 없어 아래 SQL 문을 오류없이 실행할수 있다.

ALTER TABLE STUDENT ADD CONSTRAINT SID_PK PRIMARY KEY (SID);

* table STUDENT이(가) 변경되었습니다.




출처 : http://zetawiki.com/






'DB > 오라클 SQL 명령어' 카테고리의 다른 글

오라클 분석함수 -- 순위함수  (0) 2015.03.20
오라클 DDL 정의  (0) 2015.03.19
오라클 AUTO_INCREMENT (인서트 자동증가)  (0) 2015.03.19
날짜 명령어 사용 예  (0) 2015.03.16
날짜관련 명령어  (0) 2015.03.16
posted by 가야금마스터
2015. 3. 19. 15:40 DB/오라클 SQL 명령어

DDL (Data Definition Language) : 데이터와 그 구조 정의 = 테이터 정의어

TABLE 정의


행과 열로 구성된 기본적인 저장매체의 단위


TABLE CREATE 주의사항


1. 테이블 이름을 지정하고 각 컬럼들은 괄호 ( ) 로 묶어 지정합니다.

2. 컬럼뒤에 데이터 타입은 꼭 지정되어야 합니다.

3. 각 컬럼들은 콤마  , 로 구분되고, 항상 끝은 세미콜론 ; 으로 끝납니다.

4. 한 테이블 안에서 컬럼이름은 같을 수  없을며 다른 테이블에서의 컬럼 이름과는 같을수 있습니다.

5. 테이블명을 쌍따옴표 " " 로 감싸지 않으면 기본적으로 대문자로 생성되며 

감싸면 입력한 그대로 생성이 된다.


TABLE CREATE 특이사항


1. 오라클에서는 테이블 생성시 컬럼을 1000개까지 생성이 가능하다.

2. 오라클에서는 테이블 생성 후 커밋 커리된다.


TABLE CREATE 명령


CHECK 제약 조건 : 컬럼에 입력되는 값을 체크함


컬럼 CHAR(1) CHECK (컬럼 = '0' OR 컬럼 = '1') ;

-- 데이터 삽입시 값을 체크해서 거짓이면 에러 발생


예제1)

CREATE TABLE TEST1

(AA CHAR(1) CHECK (AA = '0' OR AA = '1'));

-- 테이블 생성후 AA 컬럼에 문자열 2를 입력하면 에러 발생


예제2)

A CHAR(13) CHECK (컬럼 LIKE '____-__-__')

-- A 컬럼에 'YYYY-MM-DD' 형식으로만 입력가능


DEFAULT 제약조건 : 컬럼에 값이 입력 안될떄 자동으로 입력되는 값


예제1)

CREATE TABLE TEST3

(

A DATE DEFAULT SYSDATE,

B CHAR(10)

);


COMMIT;

INSERT INTO TEST3 (B) VALUES ('A') --날짜, A 입력됨

INSERT INTO TEST3 (A, B) VALUES (NULL, 'A') -- NULL 값, A 입력됨

INSERT INTO TEST3 (A, B) VALUES ('', 'A') -- NULL값, A 입력됨


TABLE CREATE EXAMPLE


예제1) PRIMARY KEY 생성 하지 않을시


CREATE TABLE A(

ID NUMBER(10),

NAME VARCHAR2(30)

);


예제2) PRIMARY KEY 생성 


CREATE TABLE B(

ID NUMBER(10) CONSTRAINT B_ID PRIMARY KEY,

NAME VARCHAR(30)

);

-- CONSTRAINT 이용해서 PRIMARY KEY 이름을 정할수 있다.

이름을 임으로 정하고 싶다면 적지 않아도 된다.


예제3) 제약 조건을 이용하지 않고 PRIMARY KEY 생성


CREATE TABLE C(

ID NUMBER(10),

NAME VARCHAR(30),

CONSTRAINT C_ID PRIMARY KEY (ID)

);




TABLE COPY


같은 계정에서의 TABLE COPY

TABLE A 가 있고 TABLE  B 를 생성하면서 복사하는 방법, 

하지만 제약조건(PRIMARY KEY, UNIQUE) 등은 별도로 해줘야 한다.

CREATE TABLE B AS SELECT * FROM A;

* B TABLE 을 만든 후 A TABLE 의 모든 데이터를 B TABLE 에 입력한다.


같은 서버에서 다른 계정으로 TABLE COPY (SYSTEM 계정에서 실행해야 한다.)

제약조건(PRIMARY KEYUNIQUE) 등은 별도로 해줘야 한다.

CREATE TABLE SCOTT.B AS SELECT * FROM SC.A;








posted by 가야금마스터
prev 1 2 3 4 next