Database/MS-SQL
-
MSSQL 로그인 사용자 만들기Database/MS-SQL 2022. 12. 26. 10:32
USE [DB] -- CoronaryDiagram 스키마 생성 --DROP SCHEMA CoronaryDiagram; CREATE SCHEMA CoronaryDiagram USE [MASTER] -- 로그인 계정 만들기 CREATE LOGIN CoronaryDiagramUser WITH PASSWORD =N'암호' -- 로그인계정에 연결된 사용자 만들기 CREATE USER CoronaryDiagramUser FOR LOGIN CoronaryDiagramUser WITH DEFAULT_SCHEMA = CoronaryDiagram; -- 롤 추가 alter role [dbmanager] add member CoronaryDiagramUser; alter role [loginmanager] add membe..
-
[MSSQL] SSMS 테이블 프로시저 검색을위한 팁 - 한글판을 영문으로 변경Database/MS-SQL 2012. 2. 21. 13:31
우선 한글판을 영문판으로 변환할 경우 SQL 2008 개체 탐식기의 경우 C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\ko objectexplorer.Resources.dll 파일을 삭제하면됩니다 그러면 개체탐색기만 영문으로 변경되고 사용가능합니다 적용후 다른곳을 영문으로 사용하고 싶으시면 관련 .Resources.dll 파일을 찾아 삭제하면 영문으로 사용가능합니다. 한글 SSMS의 개체 탐색기를 영문으로 바꾸는 이유는 Red-Gate의 SQL Search를 사용하기 위해서지요설치를 하면 MS SQL에 설치하면 아래 도구상자가 나타납니다 다운로드 링크 http://www.red-gate.com/products/sql-d..
-
Previous releases of Microsoft Visual Studio 2008 Failed - SQL2008 R2 SetupDatabase/MS-SQL 2011. 11. 7. 15:50
Step 1 : 에러 발생 Step 2 : regedit 실행 x64인 경우HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DevDiv\VS\Servicing\9.0\VSTS\1042 SP (0) => (1) SPIndex (0) (1) SPName (RTM) => (SP1) 으로변경 Step 3 : 해결 SQL설치 화면에서 Re-run 클릭 해결
-
Visual Studio 2008에서 MS SQL 2005 저장프로시저 디버깅하기Database/MS-SQL 2010. 6. 13. 23:06
1. SQL 2005 SSMS 를 설치하면 비주얼 스튜디오 2005 IDE가 생성된다 하지만 우리는 VS2008 이 설치 되었기때문에 VS2008 을 실행한다 * 참고 (VS2005에서 디버깅을하려면 rdbgsetup.exe 추가 설치를 해줘야한다) 아래는 Microsoft Visual Studio 2005 Remote Debugger 이다. 그리고 디버깅할때는 sa권한이 필요하다 VS2008에서는 rdbgsetup.exe 추가 설치가 필요없다 ) 2. 보기-> 서버탐색기 선택 3. 서버탐색기 -> 연결 추가 -> 확인 4.연결 추가한 화면 -> 디버그할 프로시저로 이동합니다 5. 중단점을 설정하고 "저장프로세스 한단계씩 코드 실행"으로 디버그 한다 왜? MS SQL2005 SSMS 에는 디버깅 기능이없..
-
uniqueidentifier 데이터 사용Database/MS-SQL 2009. 7. 29. 12:37
http://msdn.microsoft.com/ko-kr/library/ms190215.aspx uniqueidentifier 데이터 사용 uniqueidentifier 데이터 형식은 GUID(전역 고유 식별자) 역할을 하는 16바이트 이진 값을 저장합니다. GUID는 고유한 이진 숫자입니다. 전 세계 모든 컴퓨터는 고유한 GUID 값을 생성합니다. GUID의 주된 용도는 여러 사이트에 많은 컴퓨터가 있는 네트워크에서 고유한 식별자를 지정하는 것입니다. uniqueidentifier 열의 GUID 값은 일반적으로 다음 방법 중 하나로 얻습니다. Transact-SQL 문, 일괄 처리 또는 스크립트에서 NEWID 함수를 호출하여 응용 프로그램 코드에서 GUID를 반환하는 응용 프로그램 API 함수 또는 메..
-
주민등록번호에서 나이, 성별 구하는 쿼리 SQL 2005Database/MS-SQL 2009. 6. 22. 17:38
주민등록컬럼 varchar(14) (790101-1111111)이 일때 CASE SUBSTRING(주민등록컬럼,8,1) WHEN 1 THEN YEAR(GETDATE()) - ((left(MEM_Resident,2) + 1900) ) WHEN 2 THEN YEAR(GETDATE()) - ((left(MEM_Resident,2) + 1900) ) WHEN 3 THEN YEAR(GETDATE()) - ((left(MEM_Resident,2) + 2000) ) WHEN 4 THEN YEAR(GETDATE()) - ((left(MEM_Resident,2) + 2000) ) END AS [나이], CASE SUBSTRING(주민등록컬럼, 8, 1) WHEN 1 THEN '남' WHEN 3 THEN '남' WHEN ..
-
-
CREATE PROCEDURE !! DECLARE !! EXEC !! OUTPUT !!Database/MS-SQL 2009. 3. 28. 02:08
CREATE PROCEDURE TotalSales @year smallint , @total money OUTPUT AS SELECT @total=SUM(Amount) FROM Orders WHERE DATEPART(yy,OrderDate) = @year RETURN @@ERRPR ====================================================== DECLARE @err int , @sum money EXEC @err = TotalSales , @year = 2001 , @total = @sum OUTPUT IF @err = 0 PRINT "Total is " + STR (@sum) ELSE PRINT "Error occurred"
-
TRUNCATE TABLE(Transact-SQL)Database/MS-SQL 2009. 3. 27. 08:43
SQL Server 2008 온라인 설명서(2009년 1월) TRUNCATE TABLE(Transact-SQL) 개별 행 삭제를 로깅하지 않고 모든 행을 테이블에서 제거합니다. TRUNCATE TABLE은 기능상으로 WHERE 절이 없는 DELETE 문과 동일하지만 더 빠르고 시스템 및 트랜잭션 로그 리소스를 덜 사용합니다. Transact-SQL 구문 표기 규칙 구문 인수 database_name데이터베이스의 이름입니다. schema_name테이블이 속한 스키마의 이름입니다. table_name잘라내거나 모든 행을 제거할 테이블의 이름입니다. 주의 DELETE 문과 비교하여 TRUNCATE TABLE에는 다음과 같은 이점이 있습니다. 트랜잭션 로그 공간을 덜 사용합니다. DELETE 문은 행을 한번에 ..
-
SQL @@Error 그리고 TRANSACTION BEGIN TRAN ROLBACK COMMIT IF ELSE문 사용 예Database/MS-SQL 2009. 3. 26. 11:01
BEGIN TRANSACTION INSERT INTO Order VALUES(@ID, @ CustomerID , @OrderDate) IF(@@Error = 0 ) BEGIN INSERT INTO LineItem VALUES (@ItemID, @ID, @ProductID , @Price) IF(@@Error = 0) COMMIT TRANSACTION ELSE ROLLBACK TRANSACTION END ELSE ROLBACK TRANSACTION END
-
땡큐 트리거 TRIGGER 트리거 SQL TRIGGERDatabase/MS-SQL 2009. 2. 24. 19:29
하주영 ( [주영] ) 님의 말 : CREATE TRIGGER testTrg1 --트리거 이름 ON testTbl --트리거를 부착할 테이블 AFTER DELETE, UPDATE --삭제, 수정후에 작동하도록 지정 AS PRINT('트리거가 작동했습니다'); -- 트리거 실행시 작동되는 코도들 INSERT INTO testTbl VALUES(4, '당탕이') UPDATE testTbl SET txt = '우지운' WHERE id = 2 DELETE testTbl WHERE id = 4 SELECT * FROM testTbl USE sqlDB CREATE TRIGGER trg_BackupUserTbl --트리거 이름 ON userTbl -- 트리거를 부착할 테이블 AFTER UPDATE, DELETE --..
-
Brent’s SQL Database Blog - Archive for My Sample DBDatabase/MS-SQL 2009. 2. 12. 21:05
http://www.sql-database-blog.com/category/my-sample-db/ -- This script requires SQL Server 2008 CREATE DATABASE Email; USE testEmail; -- We store messages in folders CREATE TABLE Folder ( Id INT PRIMARY KEY IDENTITY , ParentId INT FOREIGN KEY REFERENCES Folder(Id) , DisplayName VARCHAR(64) NOT NULL , Description TEXT , CONSTRAINT nk_Folder UNIQUE (ParentId, DisplayName) ); -- an address is a uni..
-
-
SELECT @@IDENTITY 최근에 들어간 PK값을 돌려주는 것Database/MS-SQL 2009. 1. 9. 16:08
SELECT @@IDENTITY PK가 int 타입일때문 가능하다 ex) int id(1,1); INSERT INTO t_Poll (Writer, Question, SDate, EDate, ItemCount, PollTotal, RegDate) VALUES ('Manager', '김태희,송혜교, 한채영 중 누가 클까?', '20090107', '20090109', 3, 0, GetDate()) SELECT @@IDENTITY
-
DB 정리 쿼리교도소탈출 집계 함수Database/MS-SQL 2008. 11. 12. 20:14
집계 함수 MIN MAX SUM AVG 집계 함수를 사용헸을때 NULL 값이 NULL이면 값이 리턴됩니다 NULL 값은 예기치 않은 오류를 발생시킬 수 있으므로 MAX(score)했을떄 우선 숫자형이라는걸 알고 있다면 ISNULL(MAX(score) , 0) 으로 처리하게를 해서 널값이 나오는것을 예방하는것이좋다 COUNT 는 널값을 반환하지 않는다 데이터가 없을때는 0을 돌려준다 두번째로 생각해볼 문제는 GROUP BY없이 집계 함수를 사용한다면 어떻게 될까요? 입니다. 그렇다면 조건에 맞는 모든 데이터들 중에서 집계된 내용을 돌려준다는 겁니다. WHERE절로 걸러진 모든 데이터를 대상으로 MIN, MAX, SUM, AVG, COUNT등을 구한다는 겁니다.
-
DB CASCASE 옵션 적용방법 캐스캐이드Database/MS-SQL 2008. 11. 7. 00:28
CASCASE 옵션 UPDATE CASCADE : 부모 테이블의 데이터를 수정할 떄 이를 참조하고 있는 자식 테이블의 데이터도 함께 수정한다 DELETE CASCASE : 부모테이블의 데이터를 삭제할 때 이를 참조하고 있는 자식 테이블의 데이터도 함께 삭제한다 CASCADE 상품 판매 새우깡 쌔우깡 . . 새우깡 . . 새우깡이 단종되었을때 상품 새우깡을 지우면 CASCADE 관련옵션으로 판매된 새우깡이 지워진다 판매가 누락되면 구속되겠지 ㅋㅋ 회사에서 100명을 뽑는데 1000명이 지원했다 그리고 100명을 뽑았다 그리고 나머지 900명의 데이터를 지워야한다 이때 CASCADE 쓰면유용함 관계형성으로된 데이블에 유용하다 업무에따라서 정확하게 사용한다 ON DELETE CASCADE 또는 ON DELET..
-
DB 조인(JOIN)의 기초 순위만드는 쿼리 셀프조인 (Self JOIN)Database/MS-SQL 2008. 10. 29. 12:30
use NorthWind SELECT p1.unitprice, p1.productname, COUNT(*) AS ranking -- 순위 만드는 쿼리 FROM products p1, products p2 WHERE p1.categoryid = p2.categoryid AND p1.categoryid = 4 AND p1.unitprice < p2.unitprice GROUP BY p1.unitprice , p1.productname ORDER BY ranking ASC
-
DB 관련 쿼리 INSERT INTO SELECT 문 셀렉트값을 다른 테이블 넣을때Database/MS-SQL 2008. 10. 29. 10:34
셀렉트한값을 다른테이블에 넣을때~!! use NorthWind INSERT INTO tblTEST SELECT categoryid , SUM(unitprice) [ 합계], COUNT(categoryid) [카테고리별 갯수], AVG(unitprice) [평균 값] FROM products WHERE categoryid IN (2,3) GROUP BY categoryid SELECT * FROM tbltest
-
-
-
DB 데이터를 안전하게 보관하자(백업, 복원 스냅숏)Database/MS-SQL 2008. 10. 22. 11:29
데이터베이스 백업의 종류 (1) 전체 백업(Full Backup) 개요 DB 개체, 시스템 테이블, 데이터 등 DB전체를 백업하는 것 전체복구,대량로그복구,단순복구 모델 모두에서 가능함 전체 백업을 받아야 하는 경우 처음 데이터베이스를 생성했을 때 로그를 강제로 비웠을 때 데이터베이스에 변경이 생겼을 때 (Alter Database 구문 실행 후) 차등백업과 로그백업을 하기 이전에 꼭 한번은 먼저 전체 백업이 수행 전체백업 구문 BACKUP DATABASE 데이터베이스이름 TO 백업할 파일 또는 장치 데이터베이스 백업의 종류 (2) 전체 백업 3회시의 개념도 백업 방법 데이터베이스 백업 복원 use master-- 빽업백업 BACKUP DATABASE Trigger_Exam To DISK = 'c:\Tr..
-
-
DB 보안과 스키마 (1)Database/MS-SQL 2008. 10. 22. 09:50
인증모드 개요 SQL Server에 접속할 때 사용하는 인증 Windows 인증모드와 혼합모드가 있음. Windows 인증모드 SQL Server에 접속하기 위해서 별도의 사용자 및 비밀 번호가 필요 없고, Windows에 접속한 사용자로 데이터베이스 연결해서 사용하는 것 혼합 인증모드 Windows 인증모드를 계속 사용할 수 있으면서도, 동시에 별도의 허락된 계정으로 SQL Server에 접속할 수 있는 모드 외부에서 접속하기에는 좀더 편리하지만, 보안에는 상대적으로 취약함 최상위 관리자로 ‘sa’가 있음 로그인(Login) 개념 SQL Server에 접속하기 위해서는 ‘로그인’ 계정이 필요함 SQL Server에 접속할 수 있다고 데이터베이스에 접근할 수 있는 것은 아님 기본적으로 존재하는 로그인 (..
-
DB 엑세스(Access)에서 MSSQL로 옮기는 방법 + 풀텍스트서치 (Full Text Search) (2)Database/MS-SQL 2008. 10. 21. 12:29
추가 수정 file USE FTS; USE test; GO EXEC sp_fulltext_database 'enable';-- 풀텍스트 서치하겠다 풀텍스트서치할때 반드시 실행 GO EXEC sp_fulltext_database 'disable';-- 풀텍스트 서치 안하겠다 GO --TEST 조회 select top 10 idx, title, writeday, content from tMSSQLQnA --전체 건수 select count(idx) from tMSSQLQnA --title 컬럼의 용량 select sum(datalength(title)) from tMSSQLQnA --대략 1M --content 컬럼의 용량 select sum(datalength(content)) from tMSSQLQnA ..