이 글의 문맥을 분석하여 이글루스에 있는 많은 글 중에서 관련성이 높은 글을 자동으로 검색해 낸 결과입니다.

까망

nolja.egloos.com| Egloos | Log-in

2008년 07월 18일

중복체크

ID 중복체크 프로시져
- exists 로 존재여부 판단
  * 아이디를 찾아서 넘겨줄 필요 없이 DB에서 존재여부만 판단
create proc prc_uidChk
 @uid varchar(20)
as
  if exists(                    -- 존재여부를 판단
              select uid
                 from tb_member
               where uid = @uid)
    select 'X' as uid                 -- 존재하면 X를 반환, as uid는 결과값의 컬럼명을 지정
  else
    select 'O' as uid                 -- 존재하지 않으면 O를 반환

-- 실행문
exec prc_uidChk 'uid'


로그인 체크 프로시져
- exists로 존재여부 판단
* 아이디와 비번을 DB에서 판단 존재여부 체크
* 보통 실행문
select uid, upw
   from tb_member
  where uid = 'user01' and upw='1111'

* 프로시저
create proc prc_MemberLoginChk
@uid varchar(20),
@upw varchar(20)
as
if exists(
  select uid
    from tb_member
  where uid = @uid
      and upw = @upw )
   select  'O'
else ( select 'X' )

-- 실행문
exec prc_MemberLoginChk 'user01', '1111'



방명록 검색
- 테이블명, 컬럼명 같은 객체형은 프로시저의 매개변수로 사용불가.
- declare 이용문장을 변수로 담는다.

create proc prc_GuestSrch
@field varchar(50),
@word varchar(50)
as
  select *
     from tb_guest
   where @field like '%'+@word+'%'
go
  Exec prc_GuestSrch 'gsubject', '오랜만'    -- 실행오류발생

go
  select *
     from tb_guest
go 
  drop proc prc_GuestSrch

- 해결방안
create proc prc_GuestSrch
@field varchar(50),
@word varchar(50)
as
declare @str varchar(255)
set @str = 'select * from tb_guest'
set @str = @str + 'where '+@field+' like ''%'+@word+'%'''
set @str = @str + 'order by reg_dt desc'

exec(@str)
go
Exec prc_GuestSrch 'gsubject', '오랜만'              -- 정상실행


공지사항 검색구현
create proc prc_NoticeSrch
@field varchar(50) ,@word varchar(50)
as

declare @str varchar(255)

  set @str='select * from tb_notice '

  set @str=@str + 'where '+@field+' like ''%'+@word+'%'''

  set @str=@str + 'order by reg_dt desc'

exec(@str)
go
  Exec prc_NoticeSrch 'nsubject', '테'   --정상실행

공지사항 다중검색 구현 (글제목 + 글내용)
--다중검색(or)

create proc prc_NoticeSrch2

 @s_field varchar(50)

 ,@c_field varchar(50)

 ,@word varchar(50)

as

 declare @str varchar(255)

 set @str='select * from tb_notice '

 set @str=@str + 'where '+@s_field+' like ''%'+@word+'%'' '

 set @str=@str + 'or ' +@c_field+' like ''%'+@word+'%'' '

 set @str=@str + 'order by nregdt desc'

 exec(@str)

go

Exec sp_NoticeSrch2 'nsubject','ncontent','ㅎ'  --정상실행


공지사항 단일검색 + 다중검색 구현 (글제목, 글내용, 글제목+글내용)

-- if 문으로 조건

create proc sp_NoticeSrch
@field varchar(50)

, @word varchar(50)

as

declare @str varchar(255)

if @field = 'nsubject'

   set @str ='쿼리문'

else if @field = 'ncontent'

   set @str ='쿼리문' 

else

   set @str ='쿼리문'

Stored Procedure 저장프로시저

프로시저 = 메서드 = 인스턴스 = 함수 = function 같은개념
1, 방명록 리스트

create proc sp_GuestSelect

as

 select *

 from tb_guest

 order by gregdt desc

go

exec sp_GuestSelect      -- 프로시져실행 : exec 생략가능

2, 공지사항 리스트
create proc sp_NoticeSelect

as

 select *

 from tb_notice

 order by nregdt desc
go

exec sp_NoticeSelect               -- 프로시져실행

글쓰기 구현

매개변수를 이용한 저장프로시져
1,방명록 글쓰기
insert into tb_guest(gsubject) value('매개변수')

go

create proc sp_GuestWrite

 @str varchar(255)

as

 insert into tb_guest(gsubject)

  values(@str)
  go

exec sp_GuestWrite '대한민국'     -- 프로시져실행

1,방명록 글쓰기
insert into tb_guest(gsubject) value('매개변수')

go
create proc sp_GuestWrite

 @str varchar(255)

as

 insert into tb_guest(gsubject)

 values(@str)
go

exec sp_GuestWrite '대한민국' --프로시져실행

2,공지사항 글쓰기
create proc sp_NoticeWrite

 @str varchar(255),

 @str1 text

as

 insert into tb_notice(nsubject,ncontent)

 values(@str,@str1)
go

exec sp_NoticeWrite '글제목','글내용' --프로시져실행

 

3,회원가입

sp_help tb_member

go

insert into tb_member(uid,upw,uname,jumin1,jumin2,zipcode,addr,phone,email) values('uid','upw','uname','jumin1','jumin2','zipcode','addr','phone','email')

go

create proc sp_MemberJoin

 @uid   varchar(20)

 ,@upw   varchar(20)

 ,@uname varchar(10)

 ,@jumin1 char(6)

 ,@jumin2 char(7)

 ,@zipcode char(7)

 ,@addr  varchar(255)

 ,@phone varchar(30)

 ,@email  varchar(50)

as

 insert into tb_member(uid,upw,uname,jumin1,jumin2,zipcode,addr,phone,email)

 values(@uid,@upw,@uname,@jumin1,@jumin2,@zipcode,@addr,@phone,@email)
go

exec sp_MemberJoin 'uid','upw','uname','jumin1','jumin2','zipcode','addr','phone','email' --프로시져실행

go

select * from tb_member

 

 

글보기 구현

 

1,공지사항 글보기

sp_help tb_notice

go

select * from tb_notice where notice_idx='idx'

go

create proc sp_NoticeView

 @str varchar(255)

as

 select * from tb_notice

 where notice_idx = @str


 go

exec sp_NoticeView 3 --프로시져실행

# by 까망물꼬기 | 2008/07/18 14:09 | ┣물음표 | 트랙백 | 덧글(0)

트랙백 주소 : http://nolja.egloos.com/tb/1784944
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶



nolja.egloos.com


by 까망물꼬기

nolja.egloos.com
카테고리
  • 전체
  • ┣느낌표
  • ┣물음표
  • ┣따옴표
  • ┣※_기록
  • ┣지식정리
최근 등록된 덧글
  • 퍼가요.. 감사합니다.by alseom at 01/09
  • 좋은 글 감사합니다. by 하츠 at 06/23
  • 더부덕덥덥... ..by 이부장 at 01/30
  • 덧글 확인by 까망물꼬기 at 12/07
  • 머냐~ 까먹었수>! 이..by 덩생 at 11/04
  • 아기는 보고 싶으시겠지..by 空想 at 03/03
  • 空想// 이건 살만하져^^by 까망물꼬기 at 02/28
  • 전 사는거 포기했었는데...by 空想 at 02/26
  • 기적이 일어났습니다 ^^..by 까망물꼬기 at 02/04
  • 네^^ 정성껏 기도하세..by 까망물꼬기 at 12/15
이전블로그
  • 2009년 08월
  • 2009년 02월
  • 2009년 01월
  • 2008년 12월
  • 2008년 07월
  • 2008년 02월
  • 2007년 10월
  • 2007년 08월
  • 2007년 05월
  • 2007년 03월
  • 2007년 02월
  • 2007년 01월
  • 2006년 12월
  • 2006년 11월
  • 2006년 10월
  • 2006년 09월
  • 2006년 06월
  • 2006년 02월
  • 2006년 01월
  • 2005년 12월
  • 2005년 11월
  • 2005년 09월
  • 2005년 04월
  • 2005년 03월
  • 2005년 02월
  • 2005년 01월
  • 2004년 12월
  • 2004년 11월
  • 2004년 10월
  • 2004년 09월
  • 2004년 08월
  • 2004년 07월
  • 2004년 06월
  • 2004년 05월
  • 2004년 04월
  • 2004년 03월
  • 2004년 02월
  • 2004년 01월
  • 2003년 12월
  • 2003년 11월
  • 2003년 10월
  • 2003년 09월
이글루 파인더
Powered by egloos
rss

skin by 까망물꼬기

 
이글루링크 추가하기
()을(를)
이글루링크로 추가하시겠습니까? 추가하시려면 그룹선택을 하세요.
(그룹선택 하지 않는 경우, 최상단 목록에 추가됩니다.)
그룹선택 :
이글루링크 취소