블로그 이미지
Magic_kit
study 관련자료를 한곳으로 자기 개발 목적으로 재태크 재무 관리 목적으로 일상생활의 팁을 공유 하기 위하여 블로그를 개설 하였습니다.

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Category

Recent Post

Recent Comment

Archive

2009. 9. 15. 13:04 .Net Project/WindowServer2008
반응형


 --저장프로시저(Stored Procedure)
 --긴 문장을 짧은 하나의 명령어로 대체
 --C#의 함수처럼, 매개변수 및 반환값 처리 가능
 --인터프리터 방식이 아닌 컴파일 방식 : 속도빠름

use Tue
Drop table Categories2

Create Table dbo.Categories2
(
 CategoryID2 Int Identity(1,1) Not Null Primary Key, --카테고리번호
 CategoryName2 Varchar(50), --카테고리명
 
 SuperCategory2 Int Null, --부모카테고리번호(확장용)
 Align2 SmallInt Default(0) --카테고리보여지는순서(확장용)
)    
Go
-- Insert
Insert Categories2 Values('컴퓨터',Null, DEFAULT)
Insert Categories2 Values('노트북',1, 1)
Insert Categories2 Values('핸드폰',Null, 2)
Insert Categories2 Values('신규',3, 3)
--all
Select *From Categories2

--[1] 입력 저장 프로시저
Create Procedure dbo.AddCategory
(
 @CategoryName2 VarChar(50),
 @SuperCategory2 Int ,
 @Align2 Int
)
As
 Insert Into Categories2 Values(@CategoryName2,@SuperCategory2,@Align2)
Go 
--프로시저로 입력
Execute AddCategory '냉장고', 3, 1
Go

--[2] 출력 저장 프로시저
Create Proc dbo.GetCategories
As
 Select *From Categories2 Order By CategoryID2 Asc, Align2 Asc
Go
Exec GetCategories
Go
--[3] 상세 저장 프로시저
Create Proc dbo.GetCategoryByCategoryID
 @CategoryID2 Int --매개변수사용
As 
 Select *From Categories2 Where CategoryID2 = @CategoryID2
Go
--실행
Exec GetCategoryByCategoryID 1
Go

--[4] 수정 저장 프로시저
Create Procedure dbo.UpdateCategory
(
 @CategoryName2 Varchar(50),
 @CategoryID2 Int
 
)
As
 Update Categories2
 Set
  CategoryName2 = @CategoryName2
 Where
  CategoryID2 = @CategoryID2
  Select *From Categories2
Go
--실행 : 1번 카테고리명을 'Computer' 변경
Exec UpdateCategory 'computer',1 
Go 

--[5] 삭제 저장 프로시저
Create Proc dbo.DeleteCategory
 @CategoryID Int
As
 Begin Tran
  Delete Categories2
  Where CategoryID2 = @CategoryID
  
  Select @@ROWCOUNT --삭제된 데이터의 개수 : 1
  
  If @@ERROR > 0
  Begin 
   RollBack Tran
  End
 Commit Tran --여기까지 에러지 없이 왔다면 실행 완료
Go
Exec DeleteCategory 7
Go   
Select *From Categories2

--[6] 검색 저장 프로시저
--카테고리이름이 (???) 인것은 검색

Alter Proc dbo.FindCategory
 @CategoryName VarChar(50)
As 
 --검색어 = ' + @검색어 + ' 매개변수화 하여 출력 해줄 수 있다
 Declare @strSql VarChar(500)
 
 Set @strSql = '
 Select *From Categories2
 Where CategoryName2 Like ''%'+ @CategoryName +'%'' '
  
 Print @strSql
 Exec(@strSql) 
Go
FindCategory '노트북'
Go

FindCategory '핸드폰'
Go
-----------------------------------------
Create Proc dbo.PrintString
 @Message VarChar (50)
As
 Declare @strSql VarChar(255)
 Set @strSql =
'''@' + @Message + '@'''
 Print @strSql
Go  
Printstring '안녕'

반응형

'.Net Project > WindowServer2008' 카테고리의 다른 글

24장 인덱스 효과  (0) 2009.09.16
23장 도메인생성 ~ 웹사이트 DB연결  (0) 2009.09.15
21장 View (상세,수정,편집,검색,찾기)  (0) 2009.09.15
20장 While문  (0) 2009.09.14
19장 Select문  (0) 2009.09.14
posted by Magic_kit