목록DATA (45)
Data Modeling Evangelist Kaien Kim's Blog
1. Oracle에서 해당 테이블을 참조하는 Object를 조회 SELECT * FROM SYS.DBA_DEPENDENCIES WHERE REFERENCED_NAME='ORDER_NEWSPAPER'; 2. 테이블 목록 조회 SELECT OBJECT_NAME FROM USER_OBJECTS WHERE OBJECT_TYPE ='TABLE' ORDER BY OBJECT_NAME; 3. 컬럼 목록 조회 SELECT A.TABLE_NAME , A.COLUMN_NAME , A.DATA_TYPE , A.DATA_LENGTH , A.DATA_PRECISION , A.DATA_SCALE , A.NULLABLE , B.COMMENTS FROM COLS A, ALL_COL_COMMENTS B WHERE A.TABLE_NAM..
-- 8i -- SELECT num , MIN(DECODE(rn,1,''''||data||'''')) || MIN(DECODE(rn,2,','''||data||'''')) || MIN(DECODE(rn,3,','''||data||'''')) FROM (SELECT num, data , ROW_NUMBER() OVER(PARTITION BY num ORDER BY data) rn FROM t ) GROUP BY num ; -- 9i -- SELECT num , SUBSTR(MAX(SYS_CONNECT_BY_PATH(''''||data||'''',',')),2) data FROM (SELECT num, data , ROW_NUMBER() OVER(PARTITION BY num ORDER BY data) rn..
오라클에서는 TRUNC함수로 소수점 이하 자리 절삭을 하는데, SQLServer에서는 TRUNC함수가 없다. 그러면 어떻게 해야하는가? 이렇게 하면 된다. SELECT ROUND(150.75665, 2, 1) > 150.75000 SELECT ROUND(150.75665, 2, 0) > 150.76000 정리하면... ROUND ( numeric_expression, length [ , function ] ) numeric_expression 정확한 숫자 데이터 형식 또는 근사 숫자 데이터 형식이나 암시적으로 float로 변환할 수 있는 형식의 식입니다. length numeric_expression을 반올림할 전체 자릿수입니다. length가 양수이면 numeric_expression은 length에 ..
Oracle DBA Scripts Oracle-Base.com에 소개된 Oracle DBA Scripts자료이다. 버젼별로 잘 정리가 되었으니 실무에 아주 유용한 자료가 아닐까 생각한다. 링크 : http://www.oracle-base.com/dba/Scripts.php
Trace Analyzer Oracle has provided another utility initially designed for performance tuning Oracle Applications. Trace Analyzer is provided in the form of a PL/SQL package (TRCA$ ). The Trace Analyzer utility is available via download on the Oracle Metalink web site. This utility supports only version 8.1.6 and above due the requirement of being able to read OS files from PL/SQL into the databa..
1. 특정 문자가 포함된 SP 검색 SELECT A.NAME FROM SYSOBJECTS A, SYSCOMMENTS B WHERE A.ID = B.ID AND B.TEXT LIKE '%' + '김승태' + '%' 2. 특정 이름의 SP 검색 SELECT A.NAME FROM SYSOBJECTS A, SYSCOMMENTS B WHERE A.ID = B.ID AND A.NAME LIKE '%' + @sp_name + '%'
/* 동적 쿼리의 해결사 sp_executesql vs. exec 소개. Visual Basic, ASP, VB.NET에서 ADO, ADO.NET을 이용한 Database 프로그램을 개발하는 경우 프로그램내에 SQL 구문을 문자열로 연결한 후, 실행하도록 구성한 코드를 많이 보게 된다. 이러한 코드 구성을 일반적으로 '동적 쿼리', '하드 코딩된 쿼리'라고 부른다. ex. vb의 경우 Dim strSQL As String strSQL="select orderid, orderdate, employeeid from orders" strSQL=strSQL+" where orderid=" & txtOrderID cnn.Execute strSQL 그러나, 이러한 동적 쿼리의 사용은 가능한 배제하는 것이 권장 사항..
TRY..CATCH를 이용한 중첩 트랜잭션 예외처리. 개요. TRY .. CATCH 구문 내에서의 트랙잭션 처리에 대해 어떻게 구현되는지 알아보는 것과 트랜잭션으로 처리하는 프로시저 내에서 다시 트랜잭션으로 처리하는 프로시저를 호출 시 제대로 작동하는지 확인하는 것이 이 문서의 목적입니다. 테스트 샘플. 테스트 샘플은 분모를 파라미터로 받아서 0을 제외한 값은 에러가 나지 않고 0인 값은 에러가 나는 예제입니다. 1. 테스트 테이블 생성 CREATE TABLE TryTest ( id1 int, id2 int ) 2. 부모 프로시저 작성. CREATE PROCEDURE ParentTest ( @bunmo int ) AS BEGIN SET NOCOUNT ON; BEGIN TRY BEGIN TRAN Paren..
SQL Server에서 컬럼 값의 길이를 가져와야 할 경우, 크게 - 그냥 길이 - byte수 로 구분할 수 있다. 오라클에서는 1) SELECT LENGTH('모델링월드') FROM DUAL; 2) SELECT LENGTHB('모델링월드') FROM DUAL; 일 경우 1)은 5, 2)는 10을 리턴한다. 이건 이전 부터 알고있었는데, 요걸 SQLServer에서 사용할 일이 생겼다. 열심히 찾아 보았다. ^^; 역시 있었다. 문법도 오라클과 동일하다. DATALENGTH ( expression ) -인수 expression 임의 데이터 형식의 식입니다. -반환 값 int 1) SELECT LEN('모델링월드') 2) SELECT DATALENGTH('모델링월드') 일 경우 1)은 5, 2)는 10을 리..
인간의 생각하는 능력이 언어라는 것을 만들었지만, 거꾸로 언어가 인간의 사고 능력을 지배하게 되죠. 오라클 성능 세계에서도 마찬가지입니다. 용어에 대한 정확한 이해가 없으면 문제를 100% 이해할 수도 없을뿐더러 잘못된 지식을 믿게 됩니다. 예를 들어 볼까요? Explain Plan과 Execution Plan의 차이를 설명할 수 있습니까? Scan과 Lookup의 차이는 무엇입니까? Histogram의 의미는 무엇입니까? Lock과 Enqueue의 의미를 구분할 수 있습니까? SQL문과 Cursor의 차이를 설명할 수 있습니까? Event라는 용어가 언제 쓰이는지 설명할 수 있습니까? 용어을 100% 정확하게 설명할 수 있다면 그 자체로도 성능 문제에 대한 상당한 통찰력을 가지고 있다고 볼 수 있습니다..