정신없는 월요일 .. ToDay

넋나간 월요일 보내는 중 -_-

아침부터 어이없는 행동으로 헛웃음 짓게 만들더니 ;
하루 종일 정신이 딴데 가 있음.

아.. 뭔가 다 귀찮아 ---


이글루스 가든 - 나를 사랑하며 20대를 살아가기

프로시저 + DataBase

긴 문장을 짧은 하나의 명령어로 대체
C#의 함수처럼, 매개변수 및 반환값 처리 가능

인터프리터 방식이 아닌 컴파일 방식 : 속도가 빠름

 

--[0] 테이블설계

Create Table dbo.Categories

(

        CategoryID Int Identity(1, 1) Not Null Primary Key,  --카테고리번호

        CategoryName VarChar(50),                            --카테고리명

        --

        SuperCategory Int Null,                              --부모카테고리번호(확장용)

        Align SmallInt Default(0)                            --카테고리보여지는순서(확장용)

)

Go

 

--[!] 4SQL문연습

--[1] 입력: Add/Write

Insert Categories Values('컴퓨터', Null, DEFAULT)    --최상위카테고리는Null

Insert Categories Values('노트북', 1, 1)             --부모카테고리는1번인컴퓨터

Insert Categories(CategoryName, SuperCategory, Align) Values('핸드폰', Null, 2)

Insert Categories Values('신규', 3, 3)

 

--[1] 입력저장프로시저

Create Procedure dbo.AddCategory

(

        @CategoryName VarChar(50),    --매개변수처리가능

        @SuperCategory Int,

        @Align Int

)

As

        Insert Into Categories Values(@CategoryName, @SuperCategory, @Align)

Go

--프로지서로입력

Execute AddCategory '냉장고', 3, 1

Go

 

--[2] 출력저장프로시저

Create Proc dbo.GetCategory

As

        Select * From Categories Order By CategoryID Asc, Align Asc

Go

--실행

Exec GetCategory

Go

 

--[3] 상세저장프로시저

Create Proc dbo.GetCategoryByCategoryID

        @CategoryID Int

As

        Select * From Categories Where CategoryID = @CategoryID

Go

--실행

GetCategoryByCategoryID 1

Go

 

--[4] 수정저장프로시저

Create Proc dbo.UpdateCategory

        @CategoryName VarChar(10),

        @CategoryID Int

As

        Update Categories

        Set

               CategoryName = @CategoryName

        Where

               CategoryID = @CategoryID

              

        Select * From Categories

Go

--Drop Proc UpdateCategory

--실행: 1번카테고리명을'콤퓨터'로변경

UpdateCategory '콤퓨타', 1

 

--[5] 삭제저장프로시저

Create Proc dbo.DeleteCategory

        @CategoryID Int

As

        Begin Tran                            --수정/삭제시예외처리

       

               Delete Categories

               Where CategoryID = @CategoryID

              

               Select @@ROWCOUNT      --삭제된데이터의개수: 1

              

               If @@ERROR > 0

               Begin

                       RollBack Tran

               End

              

        Commit Tran                           --여기까지에러없이왔다면실행완료

Go

--실행

Exec DeleteCategory 7

              

--[6] 검색저장프로시저

--카테고리이름이모모모인것을검색?

Create Proc dbo.FindCategory

        @CategoryName VarChar(50)

As

        Declare @strSql VarChar(500) -- 검색어= ' + @검색어+ '

        Set @strSql = 'Select * From Categories Where CategoryName Like ''%' + @CategoryName + '%'''

        Print @strSql

        Exec(@strSql)

Go

 

FindCategory '노트북'

Go

 

Create Proc dbo.PrintString

        @Message VarChar(50)

As

        Declare @strSql VarChar(255)

        Set @strSql = '''@' + @Message + '@'''

        Print @strSql

Go

 

PrintString '안녕'

 


시간이 지나면서 ToDay

처음 존재를 알고 배우기 시작했을땐 전혀 이해되지 않던 부분들도,
시간이 지나고 조금씩 자신만의 배움체계가 갖춰지면 노력하지 않아도 자연스럽게 이해되기 시작하는 것 같다.

그래서 조금씩이라도 많이 접해보는 것이 무조건 이득!이란 생각이 드는 요즘.
( 학교 다닐때 설렁설렁 귀와 눈으로만 익히던 부분들을 조금씩 깊이 알아가는 중 )

+ 사람의 머리란 어느정도 시간이 지나야 안정된 메모리를 형성하는듯
  : 컴퓨터로 치자면 새 프로그램을 깔고 재부팅을 해야 정상동작을 하는 것처럼 0_0;

+ 그나저나 배울게 너무 많아서 슬슬 두뇌용량 한계에 달하는듯;;

+ 서버-Linux, Ajax, ASP, jQuery, PHP, java...


이글루스 가든 - 나를 사랑하며 20대를 살아가기

1 2 3 4 5 6 7 8 9 10 다음