한번의 쿼리로는 불가능함.

 

삭제쿼리문을 만든 다음 일괄 수행한다.

 

1. 삭제쿼리 만들기

SQLDeveloper 와 같은 툴을 사용하여 자신의 계정으로 로그온한다.

 

아래 쿼리문을 수행한다.

SELECT 'DROP TABLE "' || TABLE_NAME || '" CASCADE CONSTRAINTS;' FROM user_tables;


2. 1번의 쿼리문 결과를 모두 복사하여, 다시 쿼리를 수행한다.

 

 

끝.

블로그 이미지

엘로드넷

,

Error : ORA-00911: invalid character

 

 

insert into board (id, title) values (seq.nextval, ?)

 

 

위와 같이 에러나는 것을

아래와 같이 ?에 따옴표를 둘러줌.

 

insert into board (id, title) values (seq.nextval, '?')

블로그 이미지

엘로드넷

,

MySQL 의 REPLACE INTO 와 같은 기능.

세션을 디비에 저장하여 활용할 경우 사용.

 

 

 

1. 테이블 구조

CREATE TABLE  TB_SESS 

(

  SESSION_ID VARCHAR2(50 BYTE) NOT NULL 

, SESSION_EXPIRES DATE 

, SESSION_DATA VARCHAR2(1000 BYTE) 

)  

 

 

 

1. 동일 테이블에서 사용하는 경우

 

MERGE INTO TB_SESS 

                            USING DUAL

                            ON (SESSION_ID = '1234567890')

                            WHEN MATCHED THEN

                                      UPDATE SET

                                            

                                            SESSION_EXPIRES = SYSDATE,

                                            SESSION_DATA = '테스트 데이터'

                                                                                  

                

                            WHEN NOT MATCHED THEN

                                      INSERT (SESSION_ID, SESSION_EXPIRES, SESSION_DATA ) 

 

                                             VALUES ('1234567890', SYSDATE, '테스트 데이터');

 

 

 

TB_SESS 테이블의 SESSION_ID 를 키값으로 하여 

테이블에 값이 있으면 업데이트 하고

없으면 새로 인서트 한다.

 

 

 

 

2. 다른 테이블과 비교하여 사용할 경우

 

 

MERGE INTO TB_SESS A

                            USING 테이블 B

                            ON (A.SESSION_ID = '1234567890')

                            WHEN MATCHED THEN

                                      UPDATE SET

                                            

                                            A.SESSION_EXPIRES = A.SESSION_EXPIRES,

                                            A.SESSION_DATA = B.SESSION_DATA

                                                                                  

                

                            WHEN NOT MATCHED THEN

                                      INSERT (A.SESSION_ID, A.SESSION_EXPIRES, A.SESSION_DATA ) 

 

                                             VALUES (B.SESSION_ID, B.SESSION_EXPIRES, B.SESSION_DATA);


 

 

 

 

끝.

블로그 이미지

엘로드넷

,

아래 명령어로 호스트네임 변경시 /etc/hosts 파일 속의 호스트네임은 변경되지 않는다.

 

$ sudo scutil --set HostName 새호스트명

 

 

 

그래서 오라클 접속시 “ORA-24454: client host name is not set” 에러가 발생하고 접속이 안된다.

 

아래와 같이 해결한다.

 

[변경전 /etc/hosts]

ELLORDNET-MPR:apache ellord$ cat /etc/hosts

##

# Host Database

#

# localhost is used to configure the loopback interface

# when the system is booting.  Do not change this entry.

##

127.0.0.1 localhost

255.255.255.255 broadcasthost

::1 localhost

fe80::1%lo0 localhost

# BEGIN section for OpenVPN Client SSL sites

127.94.0.1 client.openvpn.net

 

# END section for OpenVPN Client SSL sites


 

1. 변경된 호스트네임으로 /etc/hosts 파일에 추가해 쓴다.

아래 ${HOSTNAME} 은 자신의 호스트네임 호출하는 시스템변수이므로 아래 명령어 그대로 입력한다.

스크린샷에서 보듯이 이 호스트의 호스트네임은 ELLORDNET-MPR 이므로 아래 ${HOSTNAME} 은 ELLORDNET-MPR 로 저장이 될 것이다.

 

 

$ sudo /bin/bash -c "echo '127.0.1.1 ${HOSTNAME}' >> /etc/hosts"

 

 

 

2.  또는 /etc/hosts 파일을 직접 편집해도 된다.

 

 

 

[변경후 /etc/hosts]

 

ELLORDNET-MPR:apache ellord$ cat /etc/hosts

##

# Host Database

#

# localhost is used to configure the loopback interface

# when the system is booting.  Do not change this entry.

##

127.0.0.1 localhost

255.255.255.255 broadcasthost

::1 localhost

fe80::1%lo0 localhost

# BEGIN section for OpenVPN Client SSL sites

127.94.0.1 client.openvpn.net

# END section for OpenVPN Client SSL sites

 

127.0.0.1 ELLORDNET-MPR


 

마지막에 

127.0.0.1 ELLORDNET-MPR 

이 추가되어 있다

 

 

 

'ORACLE' 카테고리의 다른 글

Error : ORA-00911: invalid character  (0) 2019.01.08
오라클 MERGE INTO 사용법  (0) 2019.01.08
오라클 create table with comment 기본  (0) 2019.01.08
오라클 테이블 CONSTRAINT  (0) 2019.01.08
오라클 시퀀스  (0) 2019.01.08
블로그 이미지

엘로드넷

,

DROP TABLE TEST;

CREATE TABLE TEST 

(

  IDX NUMBER NOT NULL 

, TITLE VARCHAR2(20) NOT NULL 

, CONTENT VARCHAR2(4000) NOT NULL 

TABLESPACE "TESTSPACE" 

;

 

 

COMMENT ON TABLE TEST IS '테스트테이블';

COMMENT ON COLUMN TEST.IDX IS '일련번호';

COMMENT ON COLUMN TITLE IS '제목';

COMMENT ON COLUMN CONTENT IS '내용';

 

블로그 이미지

엘로드넷

,

--UNIQUE INDEX

CREATE UNIQUE INDEX TEST_PK ON TEST (IDX ASC

TABLESPACE "TESTSPACE"

 

--INDEX

CREATE INDEX TEST_TITLE ON TEST (TITLE ASC

TABLESPACE "TESTSPACE"

 

--PRIMARY KEY

ALTER TABLE "TEST" ADD CONSTRAINT "TEST_PK" PRIMARY KEY ("IDX");

 

--NOT NULL

ALTER TABLE "TEST" ADD CONSTRAINT "SYS_C0036269" CHECK ("IDX" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;

ALTER TABLE "TEST" ADD CONSTRAINT "SYS_C0036270" CHECK ("TITLE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;

 

ALTER TABLE "TEST" ADD CONSTRAINT "SYS_C0036271" CHECK ("CONTENT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;



블로그 이미지

엘로드넷

,

오라클 시퀀스

ORACLE 2019. 1. 8. 21:43

CREATE SEQUENCE TEST_SEQ 

INCREMENT BY 

MAXVALUE 9999999999999999999999999999 

MINVALUE 1 

NOCACHE;



INSERT INTO TEST (IDX, TITLE) VALUES (TEST_SEQ.NEXTVAL, '제목');


블로그 이미지

엘로드넷

,

노란색까지는 상호연결 가능

 

 

 

Client Version11.2.011.1.010.2.010.1.09.2.09.0.18.1.78.1.68.1.58.0.68.0.57.3.4
11.2.0YesYesES #7NoES #5No #3No #3No #3No #3No #3No #3No #3
11.1.0YesYesES #7ES #6ES #5No #3No #3No #3No #3No #3No #3No #3
10.2.0ES #7ES #7ESESES #5NoWasNo #3No #3No #3No #3No #3
10.1.0(#4)ES #6ES #6ESESESWasWas #2No #3No #3No #3No #3No #3
9.2.0ES #5ES #5ES #5ESESWasWasNoNoWasNoNo #1
9.0.1NoNoNoWasWasWasWasWasNoWasNoWas
8.1.7NoNoWasWasWasWasWasWasWasWasWasWas
8.1.6NoNoNoNoNoWasWasWasWasWasWasWas
8.1.5NoNoNoNoNoNoWasWasWasWasWasWas
8.0.6NoNoNoNoWasWasWasWasWasWasWasWas
8.0.5NoNoNoNoNoNoWasWasWasWasWasWas
7.3.4NoNoNoNoWasWasWasWasWasWasWasWas


Key:

 

YesSupported
ESSupported but fixes only possible for customers with Extended Support.
WasWas a supported combination but one of the releases is no longer covered by any of Premier Support , Primary Error Correct support , Extended Support nor Extended Maintenance Support so fixes are no longer possible.
NoHas never been Supported


블로그 이미지

엘로드넷

,

오라클 버전별 출시년도

 

 버전

 세부버전

 출시년도

 오라클 V1

 

 1985

 오라클 V2

 

 1979

 오라클 V3

 

 1981

 오라클 V4

 

 1984

 오라클 V5

 

 1985

 오라클 V6

 6.0

 1988 

 오라클 7

 7.0

 1992. 6

 오라클 7

 7.1

 1994. 5

 오라클 7

 7.2

 1995. 5

 오라클 7

 7.3

 1996. 2

 오라클 8

 8.0.3

 1997. 6

 오라클 8i Release 1

 8.1.5.0

 1999. 1

 오라클 8i Release 2

 8.1.6.0 

 1999. 11

 오라클 8i Release 3

 8.1.7.1 

 2000. 8

 오라클 9i Release 1

 9.0.1.0

 2001. 6

 오라클 9i Release 2

 9.2.0.1

 2002. 4

 오라클 10g Release 1

 10.1.0.2

 2003

 오라클 10g Release 2

 10.2.0.1

 2005. 9

 오라클 11g Release 1

 11.1.0.6

 2007. 11

 오라클 11g Release 2

 11.2.0.1

 2009. 9

 오라클 12c Release 1

 12.1.0.1

 2013. 6

 오라클 12c Release 2

 12.2.0.1

 2016. 9

 오라클 18c

 18.1.0

 2018. 2


블로그 이미지

엘로드넷

,

Oracle : 

LIKE '%' || #searchKeyword# || '%'




MySQL(MariaDB) : 

LIKE CONCAT('%', #{searchKeyword}, '%')




Sql Server (MSSQL) : 

LIKE '%' + #searchKeyword# + '%'

'ORACLE' 카테고리의 다른 글

오라클 시퀀스  (0) 2019.01.08
오라클 11g to 9i 호환성표  (0) 2019.01.08
오라클 버전별 출시년도  (0) 2019.01.08
오라클 테이블 칼럼 순서 변경  (0) 2019.01.08
Error : ORA-00911: invalid character  (0) 2016.06.08
블로그 이미지

엘로드넷

,