ASP.NET 기초 강의실

시삽: 레드플러스 님 
게시판 이동:
 제목 : 26.2. 회원(Users) 테이블 및 저장프로시저 설계
글번호: 160
작성자: 레드플러스
작성일: 2007/06/04 오후 6:06:00
조회수: 8729
--[1] 회원 테이블 설계
Create Table dbo.Users
(
    UID Int Identity(1, 1) Not Null Primary Key,    -- 일련번호
    UserID VarChar(20) Not Null,                    -- 아이디
    Password VarChar(20) Not Null,                    -- 암호
    UserName VarChar(25) Not Null,                    -- 이름
    -- 위 4개 필드가 필수 나머지는 필요한 만큼 추가
    Email VarChar(50) Null,                            -- 이메일
    Job VarChar(20) Null,                            -- 직업
    Hobby VarChar(255) Null,                        -- 취미
    Gender Bit Null,                                -- 성별
    Intro VarChar(8000) Null,                        -- 소개
    CreatedDate SmallDateTime Default(GetDate())    -- 가입일
    -- 전화번호, 우편번호, 주소, 주소상세, 주민번호 등등 필요하면 추가
)
Go

-- SQL 예시문
--[1] 입력
Insert Users
Values('admin', '1234', '레드플러스', 'red@r.com', '백수',
    '농구, 배구', 0, '안녕하세요', GetDate())
Go

Insert Users
Values('red', '1234', '레드플러스', 'red@r.com', '백수',
    '농구, 배구', 0, '안녕하세요', GetDate())
Go

-- 저장 프로시저
--[1] 회원가입 저장 프로시저 설계
Create Proc dbo.AddUser
    @UserID VarChar(20),
    @Password VarChar(20),
    @UserName VarChar(25)
As
    --[1] 이미 회원가입된 아이디가 있다면
    Declare @Result Int
    Select @Result = Count(*) From Users
    Where UserID = @UserID

    If @Result > 0
        Return -1 -- -1이 반환되면 회원가입 불가
    Else
    Begin
        Insert Users(UserID, Password, UserName)
        Values(@UserID, @Password, @UserName)

        Return @@Identity -- 회원가입이되면 -1 이외의 값(1)을 반환
    End
Go

--[2] 로그인 저장 프로시저 설계
Create Proc dbo.LoginUser
    @UserID VarChar(20),
    @Password VarChar(20)
As
    --[1] 아이디와 암호가 맞는지?
    Declare @Result Int
    Select @Result = Count(*) From Users
    Where UserID = @UserID And Password = @Password

    If @Result > 0
    Begin
        Select '1' -- 1이 반환되면 로그인 처리
    End
    Else
    Begin
        Select '-1' -- -1이 반환되면 로그인 불가
    End
Go
--LoginUser 'admin', '12345'

--[2] 출력 저장 프로시저
Create Proc dbo.GetUsers
As
    Select * From Users Order By UID Desc
Go

--[3] 상세 저장 프로시저
Create Proc dbo.GetUser
    @UID Int
As
    Select * From Users
    Where UID = @UID
Go

--[4] 수정 저장 프로시저
Create Proc UpdateUser
(
    @UserName VarChar(25),
    @Email VarChar(50),
    @Job VarChar(20),
    @Hobby VarChar(255),
    @Gender Bit,
    @Intro VarChar(8000),

    @UserID VarChar(20),
    @Password VarChar(20)
)
As
    Update Users
    Set
        UserName = @UserName, Email = @Email,
        Job = @Job, Hobby = @Hobby,
        Gender = @Gender, Intro = @Intro
    Where
        UserID = @UserID And Password = @Password
Go

--[5] 삭제 저장 프로시저
Create Proc dbo.DeleteUser
    @UserID VarChar(20),
    @Password VarChar(20)
As
    Delete Users Where UserID = @UserID And Password = @Password
Go

--[6] 검색 저장 프로시저 : 동적 쿼리문 -> 정적 쿼리문 변경해서 사용 가능
Create Proc dbo.FindUsers
    @SearchField VarChar(255),
    @SearchQuery VarChar(255)
As
    Declare @strSql VarChar(255)
    Set @strSql = '
        Select * From Users Where ' + @SearchField
        + ' Like ''%' + @SearchQuery + '%''
    '
    Exec(@strSql)
Go
 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트


관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 27. 마스터 페이지(Master Page)와 테마(Theme;스킨) - 레드플러스 2007-06-07 5907
  26. 간단한 회원가입 페이지 만들기 프로젝트 (1) - 레드플러스 2007-03-19 7166
  26.1. 간단한 회원가입 페이지 만들기 프로젝트 설명서 - 레드플러스 2007-06-04 5912
현재글 26.2. 회원(Users) 테이블 및 저장프로시저 설계 - 레드플러스 2007-06-04 8729
  26.3. 회원가입 페이지 만들기 : Register.aspx - 레드플러스 2007-06-04 10079
  26.3.1. 회원가입 페이지 만들기 : Register.aspx.cs - 레드플러스 2007-06-04 6639
  26.4. 회원 로그인 페이지 : Login.aspx - 레드플러스 2007-06-05 6146
  26.4. 회원 로그인 페이지 : Login.aspx.cs - 레드플러스 2007-06-05 6200
  26.5. 회원 로그인 및 정보 확인 테스트 : Default.aspx - 레드플러스 2007-06-06 5679
  26.5. 회원 로그인 및 정보 확인 테스트 : Default.aspx.cs - 레드플러스 2007-06-06 5805
  [TIP] Login ReturnUrl: 로그인하지 않은 페이지에서 튕겨 나온 후 원... - 레드플러스 2015-02-13 4168
다음글 25. GDI+를 이용한 이미지 처리 : GDI(Graphics Device Inte... - 레드플러스 2007-03-05 7031
 
손님 사용자 Anonymous (손님)
로그인 Home