-- 튜플 추가하는 프로시저
create proc dbo.addmemo1
(
@name varchar(30),
@email varchar(30),
@title varchar(30),
@postip varchar(30)
)
as
insert table1(name,email,title,postdate,postip)
values(@name,@email,@title,getdate(),@postip)
go
execute addmemo1 '노종현이죠','babuemf.naver.com' ,'난 최고죠' ,'123.213.123'
go
--[출력]
select * from table1
go
--num 값으로 값을 삭제하는 프로시저만들기
create proc dbo.delete1
(
@num int
)
as
delete table1 where num=@num
go
exec delete1 4
go
------------------------------------------
--num 값을이용해 원하는 튜플을 검색
create proc dbo.getmemo111
(
@num int
)
as
select num, name, title,postdate from table1 where num = @num
go
execute getmemo111 5
go
----------------------------------------
--num값을 이용해서 튜플값 name과 email 값 수정
create proc dbo.editmemo1
(
@name varchar(20),
@email varchar(50),
@num int
)
as
begin tran
update dbo.table1
set name=@name, email=@email
where num=@num
commit tran
go
exec editmemo1 '보고싶다', '은수야', 2
go
-------------------------------------------
-- select 로 함수로 이름검색하는 쿼리문을
-- 저장 프로시저로 변환
select * from zzzz where name Like '%슥%'
go
------------------------------
--> 저장프로시저로 변형
create proc dbo.findmemos23
@searchfield varchar(50),
@searchquery varchar(50) --이름으로 찾는거
as --name '+name+'
declare @strsql varchar (255) --변수 정의
set @strsql='
select * from table1
where ' +@searchfield+' like ''%'+@searchquery+'%''
'
-- 왜 searchquery 에서 작은 따옴표를 두번써야하는가
exec (@strsql)
go
exec findmemos2 'name', '노'
go
--sql injection 발생 예제
exec findmemos1 '1=1;delete memos;--','홍길동' -- sql 인젝션
'mysql' 카테고리의 다른 글
6. sql 기본 명령어 -- 실제로 활용해보기 (0) | 2011.08.29 |
---|---|
5. sql 기본 명령어 -- 다양한 select 문 (0) | 2011.08.29 |
3. sql 기본 명령어 -- 저장 프로시저 (0) | 2011.08.29 |
2. sql 기본 명령어 -- sql 으로 함수만들기 (0) | 2011.08.29 |
1. sql 기본 명령어 -- 기본 명령어 해보기 (0) | 2011.08.29 |