데이터베이스 Database/오라클 Oracle
오라클 SQL 자주 쓰이는 숫자 관련 함수 ROUND
2019. 6. 17.자주 쓰이는 숫자 관련 함수 중 하나가 ROUND 이다. ROUND 숫자 함수는 제공된 값을 주어진 자리 수까지 반올림합니다. ROUND--(--source_number--,--precision--) 다음은 ROUND 함수를 이용하여 반올림하는 예제이다. select ROUND(7534.1238, 2), ROUND(99672.8591, 2) FROM dual; "ROUND(7534.1238,2)""ROUND(99672.8591,2)" 7534.12 99672.86 ROUND 함수는 2개의 파라메터를 갖는다. 이 중 하나는 필수 아이템으로 반올림 대상이 되는 값인 source_number 이다. 나머지 하나는 정밀도를 나타내는 파라메터인 precision으로, 반올림의 결과 양수의 경우 소수점 우측 몇 자..
SQLTools connect - cannot save "connections.xml" error
2018. 9. 17.상위 버전 설치하여 진행함. http://www.sqltools.net/index.html?frame=http%3A//www.sqltools.net/downloads.html
ORA-24335: 1000 열보다 많게 제공할 수 없습니다 ORA-24335: cannot support more than 1000 columns
2017. 7. 27.ORA-24335: 1000 열보다 많게 제공할 수 없습니다 ORA-24335: cannot support more than 1000 columns INSERT ALL 구문 실행시 ORA-24335: 1000 열보다 많게 제공할 수 없습니다 라는 오류 발생하는 경우,1000열 미만으로 실행시킨 후 commit 하고 나머지도 1000열 미만 단위로 실행한다. 12345678INSERT ALLINTO LECTURE(LECID, LECNAME, PROFID) values('', '', '')INTO LECTURE(LECID, LECNAME, PROFID) values('', '', '')........................................INTO LECTURE(LECID, LECNAME, ..
오라클 다중행 삽입 쿼리 Inserting multiple rows in Oracle
2016. 2. 13.오라클에서 다중행 삽입은 아래와 같은 방식으로 한다.Inserting multiple rows in one SQL statement INSERT ALL INTO tableA (column1, column2, ..... ) VALUES ('value1', 'value2', ...) INTO tableA (column1, column2, ..... ) VALUES ('value3', 'value4', ...) INTO tableA (column1, column2, ..... ) VALUES ('value5', 'value6', ...) SELECT * FROM dual;
MySQL 한글이 ???와 같이 깨져나올 때
2015. 10. 5.MySQL 에 입력된 한글이 ???와 같이 깨져나올 때 아래와 같이 해당 테이블, 해당 컬럼의 속성을 변경하여 준다. ALTER TABLE `book` CHANGE `bookname` `bookname` VARCHAR( 128 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL
MySQL Error Code: 1175 You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
2015. 10. 3.UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root' Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect. 0.031 sec 안전모드 해제를 위해서는 Edit > Preferences > SQL Editor> Other 항목에서 "Safe Mode" 부분을 체크 해제한다.
Error 1130 Host 'xxx' is not allowed to connect to this MySQL Server
2015. 9. 27.MySQL Workbench 등을 통해 원격에서 MySQL DB 접속시 상기와 같은 에러가 뜨는 경우에는 다음과 같이 처리한다. 먼저 root 계정으로 접속이 허용된 ip 를 살펴보자. root@localhost:~# mysql -p Enter password: mysql> select host from mysql.user where user='root'; +-----------+------+-------------------------------------------++-----------+------+-------------------------------------------+ 그리고 아래와 같이 테이블에 전체 ip에서 허용이 가능하도록 행을 하나 삽입해주는 것이다. 만약 해당 정책이 필요없다면 해..
Ubuntu에 MySQL 설치, 서버실행확인, 설정변경, root 패스워드 변경
2015. 9. 27.1. Ubuntu에 MySQL 서버 설치 MySQL을 설치하기 위하여, 터미널 프롬프트에서 다음 명령을 실행 합니다: sudo apt-get install mysql-server 위의 설치 과정에서 root 사용자 패스워드를 설정할 수 있다. 2. 서버 실행 확인 MySQL 서버가 실행중인지 여부는 아래와 같이 확인할 수 있다. sudo netstat -tap | grep mysql 아래와 같이 실행중임을 확인할 수 있다. tcp 0 0 localhost:mysql *:* LISTEN 1407/mysqld 서버가 실행중이 아니라면 아래와 같이 실행시킬 수 있다. sudo service mysql restart 3. 설정 변경 기본적인 설정은 /etc/mysql/my.cnf 파일을 통해 할 수 있다. 설정..
오라클 트리거 trigger 현황 보기
2014. 9. 18.SELECT tri.trigger_name triggername, tri.status status, obj.status validation, tri.table_name tablename, tri.table_owner ownerFROM SYS.ALL_OBJECTS obj, SYS.ALL_TRIGGERS triWHERE tri.owner = ' ' AND obj.object_type = 'TRIGGER' AND obj.object_name = tri.trigger_name AND obj.owner = tri.ownertri.owner 에 오너 이름 넣고 조회하면 됨.
오라클 잡 스케줄링 dbms_job.submit
2014. 9. 5.dbms_job.submit 을 통해 일정 간격이나 특정 시간대에 프로시져를 실행할 수 있다. 1. 현재 돌아가고 있는 잡을 확인합니다. SELECT * FROM DBA_JOBS; 2. 다음과 같이 Job 을 등록할 수 있습니다. 1) 코드 예시 DECLARE X NUMBER; BEGIN SYS.DBMS_JOB.SUBMIT ( X Job 넘버 (식별자) ,'SMIS.proc_daily_stat_ins;' 주기적으로 실행할 프로시져 또는 패키지이름 ,to_date('05-09-2014 13:08:00','dd/mm/yyyy hh24:mi:ss') 다음 번 Job 수행시간 ,'SYSDATE + 30/1440' Job 수행 주기 ,TRUE ); SYS.DBMS_OUTPUT.PUT_LINE('Job Number..
/*+ bypass_ujvc */ 를 이용한 오라클 다중행 업데이트 쿼리
2014. 3. 22.2개 이상의 테이블을 조인하여 table1의 특정 컬럼을 table2 의 특정 컬럼의 값으로 업데이트는 아래와 같은 형식을 취한다. [일반적인 업데이트의 경우] UPDATE table SET A = 'F' WHERE B = 'T' [다중행 업데이트의 경우] UPDATE /*+ bypass_ujvc */ ( 조인된 select 쿼리가 위치하는 곳 ) SET A = A' 아래 예제는 table2 의 id 별로 end_date 컬럼의 max 값을 찾아 비어져있는 table1 의 end_dt 컬럼에 업데이트하는 경우이다. [예제] UPDATE /*+ bypass_ujvc */ (SELECT a.end_dt end1, REPLACE(b.end_date, '-', '') end2 FROM table1 a, ( ..