'DBTool/MSSQL'에 해당되는 글 24건
- 2014.07.15 M6S 메모리칩셋
- 2013.10.11 상위 몇개 업데이트 : UPDATE with TOP ()
- 2013.07.15 TrimTrailingBlanks가 Yes로 된것 No 로변경
- 2013.05.20 DTC 설정
- 2013.05.02 SQL 자리수대로 다른 문자로 표현
- 2013.02.25 테이블 트리거확인 1
- 2013.02.13 MSSQL - Comment대용 MS_Description ^^ List 추가함.
- 2013.02.08 SQL 부분합 ROLLUP.
- 2012.12.24 MSSQL2008 작업스케줄 만들기.
- 2012.11.13 MSSQL 솔루션 파일 정렬.
업데이트시 수량을 나눠서 업데이트 할려고하는데.
가끔 TOP 뒤에 ()를 안하고 정수를 넣어줘서 안되는경우가 가끔 순간 당황하는 경우가 있었음.
UPDATE TOP (10000) C
FROM XXX AS C
INNER JOIN XXX AS B
ON C.XX = B.XX
TrimTrailingBlanks가 Yes로 된것 No 로변경.
원인은 테이블 만들때. "SET ANSI_PADDING ON" 구문이 제외되어 Yes로 되었네
시스템마다 자동이니 - -.
--구글링을 찾아보니
--http://bytes.com/topic/sql-server/answers/84113-how-change-trimtrailingblanks-no-yes
Update syscolumns
set typestat = typestat |2
where id in ( object_id('테이블명') )
을 넣을려니..
아.. 이룬. 권한이 머시고 - -
음. 없다면,
한개씩 테이블 컬럼 수정(원본 그대로)을 하면 .. 짜잔 바뀜.
SET ANSI_PADDING ON
ALTER TABLE [dbo].[MR_InsufRecInfo]
ALTER COLUMN [ChosNo] [char](14) NULL
SELECT STUFF('1234561234567',7,0,'-')
select REPLICATE('*',LEN('123'))
-- 테이블 트리확인
select 'sp_helptext ' + t.name
FROM sys.sysobjects AS t
INNER JOIN sys.sysobjects AS o
ON t.parent_obj = o.id
WHERE
t.xtype ='TR'
and o.name like 'DSCTB_'
참조 사이트 : http://msdn.microsoft.com/ko-kr/library/ms180047.aspx
'user','dbo' 요부분은 환경에 맞도록 수정해야 함~~~..
::fn_listextendedproperty 함수 사용시 컬럼명도 같이 넣어야 해서.. 이리저리 찾아서.
@D_CodeType = 'List' 도 만들어 놨어욤^^.
========================================================
DECLARE @D_CodeType VARCHAR(12);
DECLARE @D_TableName VARCHAR(100);
DECLARE @D_ColumnName VARCHAR(100);
DECLARE @D_Value VARCHAR(500);
DECLARE @D_ColumnRefValue1 VARCHAR(100);
DECLARE @D_ColumnREFValue2 VARCHAR(100);
SET @D_CodeType = 'D';--S(C/U)/R/D/List
SET @D_TableName = 'DSCTB_LawInfo';
SET @D_ColumnName = 'LawDate';
SET @D_Value = '소송시작일';
SET @D_ColumnRefValue1 = null;
SET @D_ColumnREFValue2 = null;
IF(ISNULL(@D_ColumnName,'') <> '')
BEGIN
SET @D_ColumnRefValue1 = 'column';
SET @D_ColumnREFValue2 = @D_ColumnName;
END
IF(@D_CodeType = 'S')
BEGIN
BEGIN TRY -- 생성개념으로, 이미 없는데 업데이트하면 에러발생~~
exec sp_addextendedproperty 'MS_Description',@D_Value,'user','dbo', 'table',@D_TableName, @D_ColumnRefValue1, @D_ColumnREFValue2
END TRY
BEGIN CATCH
exec sp_updateextendedproperty 'MS_Description',@D_Value,'user','dbo', 'table',@D_TableName, @D_ColumnRefValue1, @D_ColumnREFValue2
END CATCH
END
ELSE IF(@D_CodeType = 'D')
BEGIN
BEGIN TRY -- 삭제 없어도 에러발생^^..
exec sp_dropextendedproperty 'MS_Description','user','dbo', 'table',@D_TableName, @D_ColumnRefValue1, @D_ColumnREFValue2
END TRY
BEGIN CATCH
SELECT '삭제항목 없음'
END CATCH
END
ELSE IF(@D_CodeType = 'R')
BEGIN -- 기본적인 조회인데.. 값을 다 넣어야 함.. 귀차니즘.
SELECT *
FROM ::fn_listextendedproperty(NULL, 'user', 'dbo', 'table',@D_TableName, @D_ColumnRefValue1, @D_ColumnREFValue2)
END
ELSE IF(@D_CodeType = 'List')
BEGIN -- 자잔.. 테이블 명만 넣으면..해당컬럼몽땅나옴. sp_help 명령어처럼(Alt+F1) 화면같이 해돌라고 하지말고 필요하신분이 수정하삼^^.
-- 아 왠지 만들어서 Cltr+F1 예약하면 편한듯한 - -
SELECT P.name, p.value, i.name , c.name
FROM sys.extended_properties AS p
INNER JOIN sys.objects AS i
ON p.major_id = i.object_id
LEFT OUTER join sys.syscolumns AS c
ON p.major_id = c.id
AND p.minor_id = c.colorder
WHERE i.name = @D_TableName
ORDER BY C.colorder ASC
END
==============================
헉,.. tistory로 올라가면 탭이 공백으로 바뀌네욤^^.
SELECT
CASE
WHEN ISNULL(S.FieldCode, '') = '' THEN 'ZZ'
WHEN ISNULL(S.FieldCode, '') = '!' THEN 'AA'
ELSE S.FieldCode
END AS FieldCode,
CASE
WHEN ISNULL(S.FieldCode, '') = '' THEN '전체'
WHEN ISNULL(S.FieldCode, '') = '!' THEN '미정'
ELSE MAX(dbo.DSCUF_EE_GetCodeName('Field', S.FieldCode, Default, Default))
END AS FieldName,
CASE
WHEN ISNULL(S.FieldCode, '') = '' THEN '총계'
WHEN ISNULL(S.VendorCode, '') = '' THEN '계'
ELSE S.VendorCode
END AS VendorCode,
CASE
WHEN ISNULL(S.FieldCode, '') = '' THEN '총계'
WHEN ISNULL(S.VendorCode, '') = '' THEN '계'
ELSE MAX(S.VendorName)
END AS VendorName,
SUM(S.ContractCnt ) AS ContractCnt,
AVG(S.AvgPoint ) AS AvgPoint,
CASE
WHEN S.VendorCode IS NULL THEN '9999'
ELSE CONVERT(VARCHAR , MAX(Ranking))
END AS Ranking,
MAX(S.Remark) AS Remark
FROM
(
SELECT
ISNULL(C.FieldCode, '!') AS FieldCode,
MAX(dbo.DSCUF_EE_GetCodeName('Field', C.FieldCode, '', '')) AS FieldName,
B.VendorCode AS VendorCode,
MAX(B.CtrtVendorNm) AS VendorName,
COUNT(1) AS ContractCnt,
AVG(A.ApprTotalPoint) AS AvgPoint,
RANK() OVER (
PARTITION BY C.FieldCode
ORDER BY AVG(A.ApprTotalPoint) DESC
) AS Ranking,
'' AS Remark
FROM
dbo.DSCTB_EEApprTargetContract AS A
INNER JOIN dbo.DSCVW_EEContractInfo AS B
ON
B.ContractNum = A.ContractNum
AND B.OrdNum = A.OrdNum
AND 0 =
(
SELECT COUNT(1)
FROM dbo.DSCTB_EEApprExceptContract
WHERE
ContractNum = B.ContractNum
AND OrdNum = B.OrdNum
)
LEFT JOIN dbo.DSCTB_EEContTypeFieldInfo AS C
ON
B.WorkerClsCode = C.ContTypeCode
WHERE
A.ApprFinishYN = 'Y'
AND A.ApprReplyYN = 'N'
GROUP
BY C.FieldCode, B.VendorCode
) AS S
GROUP
BY S.FieldCode, S.VendorCode WITH ROLLUP
Sql Sever 에이전트가 먼저 서비스에 실행되도록해야함.
위 SQL Sever 에이전트 > 새작업 > 일반 > 이름 넣음 - > 확인.
단계 > 새로만들기 하면 아래 그림.
이름넣고 -> 데이터베이스 설정하고 -> 명령을 넣어줌.
일정 > 새로만들기.... 하면 아래 화면.
이름 넣어주고 해당하는것 넣어주고 확인.
혹시 작동을 안할수도 있으니, 일정화면 스크립트 실행.
확인은 "작업 활동 모니터"로 확인.
출처 : http://www.sqldbatips.com/showarticle.asp?ID=78
출처 : http://withsoju.tistory.com/145
.
이리 저리 찾아보니..
구글에..
도구 > 외부도구 > SortFiles Asc... 선택하라고 하는데 --
먼가가 빠진느낌 ^^
그리하야 - -.. 찾아보니.
파일이 하나 필요했음.
일단 아래 주소로 먼저가셔서 확인해주 시고 ^^
http://www.sqldbatips.com/showarticle.asp?ID=78
.
잉 ssmssqlproj인뎅... 일경우 아래 확인.
http://withsoju.tistory.com/145
.
확인해주시고..
.
sql 솔루션으로 만든 ssmssqlproj 일경우 바로 된다는곳이.. - - 확인은 못했음.
http://social.msdn.microsoft.com/Forums/en-US/sqltools/thread/bc4ce2a6-561d-4653-bf88-a8816db8d2a7
<LogicalFolder Name="Queries" Type="0" Sorted="false">
으로 바꾸라고 하네욤..
.
그래도 안된다는 느낌이 든다.
ssmssqlproj 일경우 솔루션 닫기등할때 .ssmssln 로 저장함.
다시 열고나서 도구상자에서 정렬시키면, 소스가 바뀐머시기 재로딩물을경우 재로딩.
안물을경우 닫고 솔루션 호출하면 정렬되어있음.
->
저렇게 정렬됨. (SLQ Server 2008 - SSMS 10.0.5500.0 기준). 즉 출처되로 하면 ... 된다는거임 - -.
혹시나 저 출처들이 사라질 경우 대비 파일은 저장 시켜 둡니다.(출처에 첨부파일이 더 좋다는.. ㅋㅋ)