Loading...

저장프로시저의 동적쿼리 sql injection 공격 차단하기

sql injection 을 차단하기 위해서 동적쿼리를 구현할 사항이 생기면 아래와 같이 sp_executesql 함수를 호출하며, 파라미터 순서는 동적쿼리 구문, 파라미터화, 변수 순으로 명시해야 합니다.ALTER PROCEDURE sp_GetProduct(@Name NVARCHAR(50)) AS BEGIN DECLARE @sqlcmd NVARCHAR(MAX); DECLARE @params NVARCHAR(MAX); SET @..

SQL 2005 이상 WITH 함수 JOIN 및 집합물을 처리

    http://blog.sqlauthority.com/2009/08/08/sql-server-multiple-cte-in-one-select-statement-query/   SQL 2005 이상 WITH 함수를 통해 다양하게 JOIN 및 집합물을 처리하여 JOIN 하는 부분이다. 멋진 함수인듯 싶다.   WITH ProductMaster(Product_ID, ProductName, ..

Microsoft SQL Server VS Oracle 데이터형식 맞추기

http://docs.oracle.com/cd/B19306_01/gateways.102/b14270/apa.htmThe gateway converts Microsoft SQL Server data types to Oracle data types as follows:Table A-1 Data Type ConversionsMicrosoft SQL ServerOracleCommentBIGINTNUMBER(19) BINARYRAW-BITNUMBER..

2012.07.25 17:12

인덱스 스크립팅 생성 및 트랜젝션 TIMEOUT 시간 부분 환경옵션 변경

SQL 에서 테이블 스크립트 생성할때 인덱스 생성 쿼리가 만들어지지 않을 경우, 아래 인덱스 스크립팅을 TRUE 로 설정하시면 됩니다. 마이그래이션 후, 인덱스 설정할때 TIMEOUT 이 나올 경우가 있습니다. 시간을 늘릴때 테이블옵션에서 초를 설정할 수 있습니다.

주단위, 월단위, 년단위, 분기별 단위 sql 통계 구현하기

-- 주 단위Select DATEPART(ww, dates), count(order_no) From 테이블group by DATEPART(ww, dates)order by DATEPART(ww, dates) -- 월단위Select DATEPART(mm, dates), count(order_no) From tablesgroup by DATEPART(mm, dates)order by DATEPART(mm, dates) -- 년단위Sel..

차집합 구하기, 어떤 쿼리가 좋을까?

1. NOT IN2. NOT IN + 상관서브쿼리3. NOT IN + 상관서브쿼리+ TOP 14. NOT EXISTS + 상관서브쿼리+ TOP 15. 상관 서브쿼리+ TOP 1 + IS NULL6. OUTER JOIN + IS NULL7. OUTER APPLY + IS NULL (SQL Server 2005 해당)8. EXCEPT + (생략됨) 서브쿼리(혹은JOIN) (SQL S..

SQL 2005 함수 HashBytes 로 단방향 암호화 처리하기

1. 추가 DECLARE @HashThis varchar(max); SELECT @HashThis = CONVERT(varchar,'1111'); INSERT INTO [isblog].[dbo].[HashEnc]            ([NameEnc])      VALUES            (HashByt..

Import CSV File into Database Table Using SSIS

시간되면 해보기..ㅎㅎ http://blog.sqlauthority.com/2011/05/12/sql-server-import-csv-file-into-database-table-using-ssis/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+SQLAuthority+%28Journey+to+SQL+Authority+with+Pinal+Dave%29 Import CSV ..

이메일 주소에서 도메인별 카운트 구하기

http://blog.sqlauthority.com/2011/06/18/sql-server-selecting-domain-from-email-address/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+SQLAuthority+%28Journey+to+SQL+Authority+with+Pinal+Dave%29   email 필드에 이메일 주소가 있을 경우, 각 메..

MS-SQL DATETIME 형변환(CONVERT)

http://huhlog.tistory.com/entry/MS-SQL-DATETIME-%ED%98%95%EB%B3%80%ED%99%98CONVERT MS-SQL 2000에서 날짜 데이터를 문자열로 형변환시 입력 Parameter 별 출력형식입니다. 전에 이거 한참을 찾았던 기억이 나네요.ㅡㅡ; 번호출력값사용방법 0 Feb 22 2006 4:26PM CONVERT(CHAR(19), CURRENT_TIMESTAMP, 0) 1 02/2..

SQL Sentry Plan Explorer v1.2

http://www.sqlsentry.net/plan-explorer/sql-server-query-view.asp  

SQL 날짜 date convert 함수

http://razzle.co.kr/tattertools/132?TSSESSION=3ee30db7796751062528b7af147755e6 convert(char(8),getdate(),112) ' 오늘날짜 8자리  문자데이타를 날짜형 으로 옮기기 '2006-08-21 12:11:49'  이런식으로 날짜 사이에는 하이픈,점,공백이 들어 가야하고 시간에는 : 문자가 들어가야 함 convert(dat..

2010.11.23 06:07

MS-SQL 실행 시간 컨트롤 하기

해당 부분을 5000 초 이상하면 3만건 이상  부분에 대한 실행 시간을 벌 수 있다. 대용량 상태에서 자동증가 설정시 많은 실행 시간이 소요되므로 해당 트렌젝션 시간을 늘리면 해결 할 수 있다.

UPDATE ~ SET ~ FROM ~ INNER JOIN 구문

UPDATE ~ SET ~ FROM ~ INNER JOIN 구문 UPDATE emailFormat SET format=2 FROM emailFormat EF INNER JOIN user U ON EF.userID = U.userID

Crosstab queries using PIVOT in SQL Server 2005

발췌 : http://www.mssqltips.com/tip.asp?tip=1019 Problem In SQL Server 2000 there was not a simple way to create cross-tab queries, but a new option in SQL Server 2005 has made this a bit easier. We took a look at how to create cross-tab queries in ..

자동증가 테이블의 필드를 0으로 초기화 설정하는 방법

DBCC CHECKIDENT ('테이블명', RESEED, 0) 위의 쿼리는 자동증가 테이블의 필드를 0으로 초기화 설정하는 방법을 보여준다. insert 를 할 경우, 1부터 저장된다.

PRIMARY KEY 와 FOREIGN KEY 를 전부 뽑아주는 쿼리

Method 1: INFORMATION_SCHEMA SELECT DISTINCT Constraint_Name AS [Constraint], Table_Schema AS [Schema], Table_Name AS [TableName] FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE GO Method 2: sys.objects SELECT OBJECT_NAME(OBJECT_ID) AS NameofConstraint, SCH..

[펌]mssql lock

** LOCK ** 트랜잭션은 LOCK 과 떨어져서 설명될 수 없는 관계이고, LOCK 도 트랜잭션 없이 설명될 수 없다. LOCK 즉 잠금의 문제는 동시성 문제이다. 어떤 자원을 누군가 사용하고 있다면 어떤 형태로든 잠금이 설정된다. 그리고 그 잠금의 종류에 따라서, 해당 자원은 다른 사람이 어느 한계까지만을 사용할 수도 있고 아예 엑세스 자체도 불가능할 수도 있다. 그래서 여러 사용자가 함께 사용하는 응용프로그램이거나 특히 웹사이트 같은 경..

해당 table 을 기술한 모든 Stored Procedure 가져오기

SQL SERVER – Find Stored Procedure Related to Table in Database – Search in All Stored Procedure December 10, 2006 by pinaldave Following code will help to find all the Stored Procedures (SP) which are related to one or more specific tables..

sp_lock2 와 sp_lockcount

http://weblogs.asp.net/mnolton/archive/2009/05/15/sp-lock2-and-sp-lockcount.aspx Here are two helpful procedures to help with sqlserver database work.  The code for both of these are based on the system stored procedures sys.sp..

SELECT * INTO와 INSERT INTO SELECT..의 차이점

펌 : 허둥사마 : tit99hds.egloos.com SELECT * INTO와 INSERT INTO SELECT..의 차이점   1.SELECT * INTO사용법    SELECT  INTO 구문은 원본은 있고 대상 테이블은 새롭게 생성하려 할 경우 사용합니다.    TABLE A에서 모든 데이터를 가져와 A_COPY라는 테이블을 생성하여 데이터를..

SQL Server 2008 - 대량 가져오기 및 내보내기 작업 정보

http://msdn.microsoft.com/ko-kr/library/ms187042.aspx SQL Server 2008 온라인 설명서(2009년 1월) 대량 가져오기 및 내보내기 작업 정보 업데이트: 2008년 10월 31일SQL Server에서는 SQL Server 테이블에서 대량의 데이터를 내보내고 SQL Server 테이블이나 분할되지 않은 뷰로 대량의 데이터를 가져올 수 있습니다. 다음과 같은 기본 방법을 사용할 수 있습..

2009.03.12 01:08

MS-SQL 2005 로 XML 생성해 보기

아래와 같은 XML 을 MS-SQL 에서 SELECT 구문을 이용하여 어떻게 출력할 수 있는지 알아보죠. SELECT (  SELECT 'White' AS Color1, 'Blue' AS Color2, 'Black' AS Color3, 'Light' AS 'Color4/@Special', 'Green' AS Color4, 'Red' AS Color5 FOR XML PATH('Colors'), TYPE ), (  S..

2009.03.12 00:42

MS-SQL 2005 에서 XML 값 추출해오기

MS-SQL 2005 에서 XML 값을 가지고 어떻게 파싱하여 값을 추출하는지를 보여줍니다. 간단히 SELECT 구문으로 추출해 오는 예제를 살펴볼까 합니다. SQL Server 실행 시간:    CPU 시간 = 0ms, 경과 시간 = 1ms. SQL Server 구문 분석 및 컴파일 시간:    CPU 시간 = 0ms, 경과 시간 = 1ms. SQL Server 실행 시간:    CPU 시간 = 0ms..

DTS 로 테이블 정보 엑셀 내보내기 - SQL Server Business Intelligence Development Studio

SQL Server Business Intelligence Development Studio 를 이용하여 DTS 의 기능으로 데이터베이스 테이블 정보를 엑셀로 내보내기 하는 작업을 보여줍니다.   http://msdn.microsoft.com/en-us/library/cc952921.aspx   동영상 내용은 SQL 2008 이지만 SQL 2005 에서도 동일한 효과를 얻으실 수 있습니다.

SQL QUERY 특정 위치, 특정 문자 제거하기

펌 : http://www.dbguide.net/dbqa/dbqa111003.jsp?catenum=27&page=1&idx=9052 뒤에 붙은 스크립트가 같은 것이 반복되느냐 아니냐, 그리고, 컬럼이 text 인지 일반 char 인지 확인해서 참고해서 적용하시면 되겠습니다.     -- 테스트환경.   CREATE TABLE Test (A varchar(..