2012. 10. 12. 20:41 COMPUTER
[ORACLE/PLSQLDEV] PL/SQL Developer 한 화면에서 쿼리를 선택하지 않고 실행 설정, AutoSelect Statement

PL/SQL Developer는 정말 좋은 툴이에요.

하지만 뷰티파이어에 단축키도 없고,

한 쿼리화면에서 일부만 실행시키려고하면,

실행 할 쿼리만 선택한 채로 F8을 눌러야 합니다.

 

하지만 아래처럼 설정하면,

쿼리당 세미콜론을 붙여주고 원하는 쿼리에 커서가 위치한 상태에서 (선택을 안해도됨) F8키만 누르면 쿼리하나씩만 실행이 됩니다. 

 

 

메뉴 > Tools > Preferences 선택

Preferences > SQL Window > AutoSelect statement 체크 (아마도 위에서 4번째쯤)

 

AutoSelect statement에 체크한 모습

 

2012. 9. 14. 09:00 PROGRAMMING
[DB/ORACLE] 오라클 셀렉트인서트, SELECT, INSERT

오라클 셀렉트 인서트

이렇게 하면 갑자기 게임이 하고싶어집니다.

담배피러가야지~

 

 

EXAMPLE1

INSERT INTO table_adr
	SELECT *
	FROM table_kaudo
	WHERE name='doori'

 

 

EXAMPLE2

INSERT INTO table_adr (name,sex,age)
(
	SELECT
		name,
		sex,
		age 
	FROM
	(
		SELECT
			'안두봉' name,
			'남자' sex
		FROM DUAL
	), 
	(
		SELECT
			MAX(age) +1 age
		FROM table_adr
	)
)
2011. 3. 7. 12:47 COMPUTER
[ORACLE] ORA-00911: 문자가 부적합합니다, Cause: java.sql.SQLException: ORA-00911: invalid character
디비툴(토드,오렌지등)에선 되는데
소스에서 실행하면
오라클 에러, 잘못된 문자입니다.

제일먼저 확인해봐야 할것은 쿼리마지막에 세미콜론(;)이 있나없나
2011. 1. 13. 17:31 COMPUTER
[ORACLE] 오라클 날짜변환 입출력 함수 SELECT, INSERT, TO_DATE, TO_CHAR
오라클에서 사용하는 날짜변환 함수
TO_DATETO_CHAR예제입니다.
쓸때마다 까먹어 ㅎㅎ;;


문자열을 데이트타입으로 입력
INSERT INTO 테이블 (날짜컬럼)
VALUES ( SYSDATE )

INSERT INTO 테이블 (날짜컬럼)
VALUES ( TO_DATE('2011-03-03','YYYY-MM-DD') )

INSERT INTO 테이블 (날짜컬럼)
VALUES ( TO_DATE('12-JAN-1982', 'DD-MON-YYYY') )

INSERT INTO 테이블 (날짜컬럼)
VALUES ( TO_DATE('10-04-2010 20:37:50','MM-DD-YYYY HH24:MI:SS') )


데이트타입을 문자열로 출력
SELECT TO_CHAR(날짜컬럼,'YYYY-MM-DD') FROM 테이블

SELECT TO_CHAR(날짜컬럼,'DD-MON-YYYY') FROM 테이블

SELECT TO_CHAR(날짜컬럼,'YYYY-MM-DD HH24:MI:SS') FROM 테이블
2010. 11. 4. 10:55 COMPUTER
[ORACLE] 오라클 에러 ORA-XXXXX
ORA-01756: 단일 인용부를 지정해 주십시오
단일인용부는 싱글쿼테이션(')을 뜻함.
따옴표를 빼먹었다던지 잘못해서 2번이상 쓰면 나는 에러


ORA-00904: "컬럼명": 부적합한 식별자
주로 없는 컬럼을 조작하려할때 발생


ORA-00923: FROM 키워드가 필요한 위치에 없습니다.
FROM절 말고 SELECT절의 컬럼사이에 콤마(,)를 빼먹었는지 확인하세요.
SELECT ROWNUM AS RNUM,
ID, NAME, REG_USR, REG_DT, MOD_USR, MOD_DT
FROM TEST


ORA-01861: 리터럴이 형식 문자열과 일치하지 않음
2010/10/05 - [COMPUTING] - [ORACLE] 오라클에 DATE타입으로 INSERT / SELECT, ORA-01861: 리터럴이 형식 문자열과 일치하지 않음


ORA-12154: TNS:could not resolve the connect identifier specified
2010/10/01 - [COMPUTING] - [ORACLE] 오라클 Instant Client 설정, ORA-12154: TNS:could not resolve the connect identifier specified


NASA's Hubble Universe in 3-D

2010. 10. 28. 18:01 PROGRAMMING
[IBATIS] 아이바티스 쿼리 작성시 유의사항, com.ibatis.common.xml.NodeletException, Error parsing XML

논리연산자를 아무렇게나 사용하면 에러가 납니다.
왜냐면 XML파일이기 때문이죠.
GREATER나 LESS를 쓰면 태그로 인식하는것입니다.

<![CDATA[ STRING ]]> 으로 쿼리 전체를 감싸도 됩니다.

이것때문에 파일이 깨지면 컴파일이 안되서 길쭉한 에러를 보게됩니다.

Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.
Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'.
Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.
Cause: org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or markup.

적용방법
<= : <![CDATA[ <= ]]>
=> : <![CDATA[ => ]]>
< : <![CDATA[ < ]]>
> : <![CDATA[ > ]]>

샘플
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="QueryManager">
 <select id="sampleQuery1" resultClass="java.util.HashMap">
  SELECT * FROM (
   SELECT ROWNUM AS RNUM, COL1, COL2, COL3, COL4 FROM BOARD
   ORDER BY COL1 ASC, COL2 DESC
  ) WHERE RNUM <![CDATA[ <= ]]> #START# ORDER BY COL1 DESC, COL2 ASC

 </select>

 <select id="sampleQuery2" resultClass="java.util.HashMap" parameterClass="java.util.HashMap">
  SELECT COUNT(*) AS TOTAL FROM BOARD
 </select>

2010. 10. 21. 16:55 PROGRAMMING
[ORACLE] 오라클 페이징 3가지 쿼리, PAGING, RNUM, ROWNUM
오라클에서 페이징 구현할때 쓰는 쿼리입니다.

SELECT * FROM (
 SELECT ROWNUM AS RNUM, A.* FROM (
  SELECT 컬럼 FROM 테이블
 ) A WHERE ROWNUM <= 시작점 + 출력양 ORDER BY ROWNUM DESC
) WHERE ROWNUM <= 출력양 ORDER BY RNUM ASC


SELECT * FROM (
 SELECT ROWNUM AS RNUM, A.* FROM (
  SELECT 컬럼 FROM 테이블
 ) A WHERE ROWNUM < 출력양
) WHERE RNUM > 시작점 ORDER BY 컬럼 DESC


SELECT * FROM (
 SELECT ROWNUM AS RNUM, 컬럼 FROM 테이블
) WHERE RNUM BETWEEN 시작점 AND 출력양
ORDER BY 컬럼 DESC

2010. 10. 5. 09:37 COMPUTER
[ORACLE] 오라클에 DATE타입으로 INSERT / SELECT, ORA-01861: 리터럴이 형식 문자열과 일치하지 않음
오라클 날짜형식으로 된 컬럼의 입/출력 쿼리


- 입력 (INSERT)

INSERT INTO TABLE1 (REG_DATE) VALUES ( TO_DATE('10-04-2010 20:37:50','MM-DD-YYYY HH24:MI:SS') )
INSERT INTO TABLE2 (REG_DATE) VALUES ( SYSDATE )


- 출력 (SELECT)
SELECT TO_CHAR(REG_DATE,'YYYY-MM-DD HH24:MI:SS') FROM TABLE1



TO_DATE에서 형식을 똑바로 맞추지 못하면 나는 에러입니다.

2010. 2. 22. 17:41 PROGRAMMING
[ORACLE] 오라클 테이블 목록 / 컬럼 조회
죳망구리 안좋은 오라클은 테이블목록이나 테이블스키마보는것도 쿼리로 해야한다.
두꺼비같은 툴이 있으면 거기서 버튼눌러가며 봐도 되지만,
왠지 명령줄도 알고있어야할거같은 불안감? 자좃심?

목록 조회
select object_name from user_objects where object_type='TABLE'

컬럼 조회
select column_name,data_type,data_length,data_precision,data_scale,nullable from cols where table_name='[테이블명]'
2009. 6. 26. 10:10 PROGRAMMING
php urlencode, urldecode, mb_convert_encoding utf8 쿼리스트링
euc-kr의 페이지에서 utf-8페이지를 iframe으로 열고 변수를 전달해야할 때
urlencode같은 함수를 사용하면 글자들이 %를 포함하기때문에 sql에선 사용할수 없습니다.
고로, mysql 쿼리를 때리기 위해 순수한 utf8 한글로 변형해야 합니다.

1. 쿼리값을 디코딩한다. 그러면 디코딩은 되었지만, 출력해보면 utf-8페이지이기때문에 깨진 글자가 나올겁니다.
2. euc-kr을 utf-8로 인코딩한다.
3. mysql 쿼리실행
$keyword=$_REQUEST[q];
$keyword=urldecode($keyword);
$keyword=mb_convert_encoding($keyword,"UTF-8","EUC-KR");
or
$keyword=mb_convert_encoding(urldecode($_REQUEST[q]),"UTF-8","EUC-KR");
using
$sql="SELECT * FROM [table] WHERE [column] LIKE '%".$keyword."%'";


euc-kr에서 utf8로 변환
$STRING=mb_convert_encoding($STRING,"UTF-8","EUC-KR");


utf8에서 euc-kr로 변환
$STRING=mb_convert_encoding($STRING,"EUC-KR","UTF-8");


관련함수
utf8_encode, utf8_decode, base64_encode, base64_decode, rawurlencode, rawurldecode, urlencode, urldecode, parse_url,
mb_convert_encoding, mb_detect_encoding, mb_convert_variables...

최근에 올라온 글

최근에 달린 댓글