상세 컨텐츠

본문 제목

090429

청강컴정/DataBase

by luckey 2009. 4. 29. 13:49

본문

create table board
(
 sn int primary key,
 title nvarchar(50)
)

create table contents
(
 fk_board int foreign key references board(sn),
 part_sn int primary key,
 title nvarchar(50)
)


set concat_null_yields_null off
--sql기본값은 null + data 을 해도 null이 나온다.
--옵션을 걸어서 null + data를 하면 data가 나오도록 한다.
--세션명령이므로 해당 명령구문에서만 적용된다.
-- sql의 기본은 on으로 되어 있다.

update
 contents
set
 --title은 대상이 되는 contents 테이블에 대한것이기 때문에 이름을 넣어주지 않는다.
 title = b.title + '/' + c.title
from
 contents as c --대상이 되는 테이블이 항상 먼저 나온다.
 inner join board as b
 on c.fk_board = b.sn
where
 b.title = '뉴스게시판'


delete from contents --기본구문
from -- from절이 또 나온다.
 contents as c --대상이 되는 테이블이 항상 먼저 나온다.
 inner join board as b
 on c.fk_board = b.sn
where
 b.title = '분실/습득'

 


select * from member
select * from member_join

---------cursor
declare @cafe_sn int
set @cafe_sn = 1

declare @usn int
declare cur_mem cursor for select sn from member
open cur_mem

fetch next from cur_mem into @usn
while @@fetch_status = 0
begin
 if not exists(
  select * from member_join
  where fk_member = @usn and fk_cafe = @cafe_sn
 )
 begin
  insert into member_join(fk_member, fk_cafe, join_date)
  values (@usn, @cafe_sn, getdate())
 end
 fetch next from cur_mem into @usn
end
close cur_mem
deallocate cur_mem


-----
declare @cafe_sn int
set @cafe_sn = 2

insert into member_join (fk_member, fk_cafe)
select sn, @cafe_sn from member
where sn not in(
select fk_member from member_join where fk_cafe = @cafe_sn)


select * from member
where sn in (null,2, 3)


select * from contents
select * from board
select * from member_join where fk_cafe = 2

관련글 더보기

댓글 영역