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
댓글 영역