PROCEDURE *OUTPUT 사용법
CREATE PROCEDURE sp_zul_account
/*
절부분 결제 부분입니다.
결제함과 동시에 절에 보시했다는 정보를 보관합니다.
*/
@member_id varchar(50) ,
@zul varchar(50) ,
@comment varchar(200) ,
@cash int ,
@result int output
AS
Declare @i varchar(50)
--실직적인 결제를 하는부분
--또다른 저장프로시저
exec sp_account @member_id ,@comment , @cash , @i output
if( @i ='1' )
begin
--절에대한 정보를 넣어줍니다
insert into dbo.zul_love_account(zul , member_id , makedate ) values( @zul , @member_id , getdate() )
SET @result='1'
end
else
begin
SET @result='2'
end
GO
asp 코드
set Command1 = Server.CreateObject("ADODB.Command")
Command1.ActiveConnection = MM_DBconn_STRING
Command1.CommandText = "dbo.sp_zul_account"
Command1.Parameters.Append Command1.CreateParameter("@member_id", 200, 1,50,member_id)
Command1.Parameters.Append Command1.CreateParameter("@zul", 200, 1,50,zul)
Command1.Parameters.Append Command1.CreateParameter("@comment", 200, 1,50,comment)
Command1.Parameters.Append Command1.CreateParameter("@cash", 3, 1,4,cash)
Command1.Parameters.Append Command1.CreateParameter("@result", 3, 2,4)
Command1.CommandType = 4
Command1.CommandTimeout = 0
Command1.Prepared = true
Command1.Execute()
if Command1.Parameters.Item("@result").Value <>"1" then
response.write "<script>"
response.write "alert('결제금액이 부족합니다');"
response.write "history.back(-1);"
response.write "</script>"
response.End()
else
response.Cookies("zul")=zul
response.Redirect("/account/account_end.asp")
end if
------------------------------------------------------------------------------------------
두개이상의 결과값 받기
------------------------------------------------------------------------------------------
*위에랑 별 차이 엄따 2개란거 말고는 ㅋㅋ
데이타베이스
CREATE PROCEDURE sp_get_login_profile
@member_id varchar(50) ,
@love int output ,
@memo int output
AS
select @memo=Count(*) from memo_receive where memo_to =@member_id and read_class='2'
select @love=cash from member_config where member_id=@member_id
print @memo
GO
asp 코드
<%
set Command1 = Server.CreateObject("ADODB.Command")
Command1.ActiveConnection = MM_DBconn_STRING
Command1.CommandText = "dbo.sp_get_login_profile"
Command1.CommandType = 4
Command1.CommandTimeout = 0
Command1.Prepared = true
Command1.Parameters.Append Command1.CreateParameter("@member_id", 200, 1,50,member_id)
Command1.Parameters.Append Command1.CreateParameter("@love", 3, 2,4)
Command1.Parameters.Append Command1.CreateParameter("@memo", 3, 2,4)
Command1.Execute()
%>
<%= Command1.Parameters.Item("@love").Value %>
<%= Command1.Parameters.Item("@memo").Value %>
------------------------------------------------------------------------------------------
쿼리문자열을 만들어서 프로시저안에서 실행하기
------------------------------------------------------------------------------------------
CREATE PROCEDURE sp_get_soc_newwrite
@board_type int ,
@top int
AS
DECLARE @sql varchar(200)
set @sql=' select top '+convert( varchar(50) ,@top)+' * from soc_board where board_type ='''+convert(varchar(50) , @board_type)+''' '
exec (@sql)
GO
[출처] 간단한 저장프로시저 예제|작성자 yo9lee
http://blog.naver.com/yo9lee?Redirect=Log&logNo=100070867875
'020. Prigraming > 10. Web' 카테고리의 다른 글
[Flutter] 지뢰찾기 (0) | 2022.11.25 |
---|---|
[Flutter] 공부를 시작하지 (0) | 2022.08.13 |
asp.net과 플래시 변수 연동(디비까지) (0) | 2010.04.06 |
[PHP] my-sql DB 연결하기 (0) | 2010.03.01 |
[ASP] DB(Oracle, ms-sql) 연결 소스 (2) | 2010.03.01 |
WRITTEN BY
- 테네시왈츠
항상 겸손하게 항상 새롭게 항상 진실하게