proc : 프로시저
BEGIND 프로시저명(:name, :name2, :name3); END;
자동으로 prepare 적용
call proc_php_test(?, @out);
select @out;
select 1 into a from db_root; -- output 변수 설정
call proc_php_test(?, ?, ?, a);
select a from db_root; -- output 변수 출력
[편집]
select : 조회
select * from 테이블;
select * from 테이블;
select * from 테이블;
set @age := 10;
select @name1 := name1, @name2 := name2 from 테이블 where age = @age;
select * from 테이블;
select * from 테이블;
select * from 테이블;
[편집]
insert : 입력
insert 구문을 DB에 따라 다르게 생성한다.
insert into 테이블 values (:name1, :name2, :name3);
- mssql (자체 구현) - sp_executesql 을 사용하여 구현
insert into 테이블 values (@name1, @name2, @name3);
declare @sql nvarchar(1000)
declare @param nvarchar(1000)
set @sql = N'insert into 테이블 values (@name1, @name2, @name3) '
set @param = N'@name1 varchar(30), @name2 varchar(30), @name3 varchar(30)'
exec sp_executesql @sql, @param, @name1 = '안녕', @name2 = '하세요', @name3 = '호박'
declare @name1 varchar(30)
declare @name2 varchar(30)
declare @name3 varchar(30)
set @name1 = '안녕'
set @name2 = '하세요'
set @name3 = '호박'
insert into 테이블 values (@name1, @name2, @name3);
set @name1 := '안녕';
set @name2 := '하세요';
set @name3 := '호박';
insert into 테이블 values (@name1, @name2, @name3);
insert into 테이블 values (?, ?, ?);
insert into 테이블 values ($1, $2);
insert into 테이블 values (?, ?);
[편집]
delete
delete from 테이블 where name = :value or name = :value2;
- mssql (자체 구현) - sp_executesql 을 사용해서 구현
delete from 테이블 where name = @name1 or name = @name2;
declare @sql nvarchar(1000)
declare @param nvarchar(1000)
set @sql = N'delete from 테이블 where name = @name1 or name = @name2; '
set @param = N'@name1 varchar(30), @name2 varchar(30)'
exec sp_executesql @sql, @param, @name1 = '안녕', @name2 = '하세요'
set @name1 := '안녕';
set @name2 := '하세요';
delete from 테이블 where name = @name1 or name = @name2;
delete from 테이블 where name = ? or name = ?;
delete from 테이블 where name = $1 or name = $2;
delete from 테이블 where name = ? or name = ?;
[편집]
update
update 테이블 set name = :value where name2 = :value2 or name2 = :value3;
- mssql (자체 구현) - sp_executesql 을 사용하여 구현
update 테이블 set name = @name1 where name2 = @name2 or name2 = @name3;
declare @sql nvarchar(1000)
declare @param nvarchar(1000)
set @sql = N'update 테이블 set name = @name1 where name2 = @name2 or name2 = @name3;'
set @param = N'@name1 varchar(30), @name2 varchar(30), @name3 varchar(30)'
exec sp_executesql @sql, @param, @name1 = '안녕', @name2 = '하세요', @name3 = '메롱'
set @name1 := '안녕';
set @name2 := '하세요';
set @name3 := '메롱';
update 테이블 set name = @name1 where name2 = @name2 or name2 = @name3;
update 테이블 set name = ? where name2 = ? or name2 = ?;
update 테이블 set name = $1 where name2 = $2 or name2 = $3;
update 테이블 set name = ? where name2 = ? or name2 = ?;
0