저장 프로시저를 이용할 때 리턴되는 값은 크게 리턴(Return)과 셀랙트(Select)로 나눌 수 있습니다. 리턴은 int형만 가능하고 일반적으로 프로시저에 대한 응답(로그인 중이라면 로그인이 안 된 이유 같은 것들)용으로 많이 사용합니다. 셀랙트는 말 그대로 데이터(테이블)를 리턴하는 것이고요. 1. SQL 작성 리턴과 셀랙트를 구분 안 하는 경우도 있습니다만 구분해서 쓰면 처리하기도 편해지고 코드도 일관성 있어저서 좋습니다. --Return과 Select를 구분한 경우 Select 1 Return 2 --결과 --Select : 1 --Return : 2 --Return과 Select를 구분하지 않은 경우 Select 1 Return --결과 --Select : 1 --Return : null 일반..
이것이 사건의 원흉중하나인 조언자의 뒷통수 ㅡ.-;; 하프라이프2 오리지널에서 브린박사와 통화하는 모습을 잠깐 봤었지만 설마 본진에 숨어있을줄은-_-;
이전 글에서 테이블 변수에 관해서 이야기했었습니다. 임시 테이블과 테이블 변수는 사용하는 방법 면에서는 별 차이가 없으나 성능상 차이가 있다고 합니다. 테이블 변수가 성능 면에서 더 유리하다고 하는데....직접 비교는 해보지 않아서 잘 모르겠습니다 ㅎㅎㅎ (참고 : [MSSQL] 저장프로시저에서 테이블(Table) 변수 사용하기 ) 1. 선언 선언 임시테이블이므로 크리에이트 테이블(Create Table)로 생성하면 됩니다. --리턴값을 받기위한 임시 테이블 --Create Table [생성할 테이블 이름] ( [컬럼명] [데이터형], ... , [컬럼명] [데이터형] ) Create Table #Result ( nIndex int , sName varchar(16) , sID varchar(16)) 2..
게임시작한지 30분이 넘도록 제가 킬탑이였다능 ㅡ,.ㅡ; 그중 5킬은 혼자 딴거 ㅡ.-; 그래도 다행인게 후반엔 다들 빠릿빠릿했음 ㅎㅎ
테이블 변수라는 것은 변수로 선언된 테이블을 말합니다. 셀랙트(Select)하여 받아온 데이터를 저장 프로시저(stored procedure)에서 처리할 때 사용합니다. 1. 선언 선언은 'table'로 하면 됩니다. Declare @Table table ( nIndex int , sName varchar(16) , sID varchar(16)) 2. 입력 입력은 인서트(Insert)를 이용하면 됩니다. Insert @Table Select * From tb_WebServiceTest Where intIndex = 45 이렇게 하면 셀랙트의 결과가 테이블 변수로 들어가게 되죠. 3. 사용 사용은 일반적인 테이블처럼 사용할 수 있습니다. 셀랙트뿐만 아니라 4대 천황도 사용할 수 있습니다. Select * ..
서로 본진타워 다 쓸린상태에서 밀리고 있던 상황이라 베인과 둘이서 뒤에 숨있다가 적들이 본진으로 처들어가길례 뒷치기가서 이겼습니다 ㅎㅎㅎ 베인데미지가 좋아서 귀환도 해봤자 늦음 ㅎㅎㅎ
IT에 관심있으신분들이라면 데이터 센터라는 것을 들어본적이 있을 겁니다. 이름 그대로 데이터를 가지고 있는 중심, 즉 엄청나게 큰 물리적 하드(?)가 있는 곳을 말합니다. 이런게 우리나라에 생긴다면 어떤 효과가 있느냐? 일단 인터넷 속도가 급상승!!! 데이터가 물리적으로 가까운곳에 있으면 속도 향상효과가 있습니다. 거기다 다른나라에서 일어난 여러가지 사고나 천재지변으로인해 속도가 느려지거나 하는 일도 줄어 들죠. 무엇보다 통신사들끼리 지불하는 사용료를 안내도 되기 때문에 있는 것 만으로도 외화유출을 어느정도 막을수 있습니다. 그런데 구글은 계속 한국에 데이터 센터를 만들고 싶어했지만 하지 못했습니다.-_-; 왜일까요? 미닉스님께서 이런 이야기를 잘 정리하여 카툰으로 해주셨기때문에 전 편하게 링크를 남겨 ..
저장프로시저를 만들고 테스트해보면 메시지 "(1개 행이 영향을 받음)" 이런 메시지를 볼수 있습니다. 말그래로 저장프로시저 안에서 테이블에 영향을 주면(4대 천황같은 것을 사용하였을때) 출력됩니다. 만약 여러번 영향을 주면(select를 여러번 한다던가)하면 여러줄이 나옵니다. 그런데 이런 메시지가 서버에 부하를 준다는 군요 ㅡ.-; 그렇기 때문에 'Set Nocount on' 사용을 권장하고 있습니다. 저장프로시저의 시작점에 'Set Nocount on'를 적어 주시면 됩니다. (참고 : MSDN - SET NOCOUNT(Transact-SQL)) 예를 들면 아래와 같습니다. ALTER PROCEDURE [dbo].[TestSelect] As BEGIN Set Nocount on Select * Fro..
마이크로 소프트 오피스에 비지오(Visio)라는 프로그램이 포함되어 있습니다. (라이센스에 따라 없을수 있음.) 하지만 따로 설치 해야 하죠 ㅡ.-; 비지오는 강력한 다이어그램 작성툴로 마이크로 소프트 오피스계열과도 궁합이 잘맞는 편입니다. (이전버전들의 경우 좀 궁합이 안맞긴 했습니다만...지금은 괜찬은듯 하네요.) ERD라는 것은 개체-관계다이어그램(Entity-Relationship Diagram)을 말합니다. (참고 : 위키백과 - 개체-관계 모델 ) 이미 만들어진 데이터베이스의 ERD를 생성하는 툴은 몇가지가 있지만 비지오는 평상시에도 많이 사용하므로 비지오를 이용하여 생성하는 방법을 다루겠습니다. 여기서 사용된 비지오 버전은 'Miocrosoft Visio 2010' 입니다. 1. 템플릿 생성..