아래 select @idx= scope_identity(), return @idx는 최종 생성된 idx 값을 반환하기 위함..
==== 저장 프로시저
CREATE PROC mailWrite
@nName varchar(20),
@email varchar(50),
@mailFlag bit,
@mailDate smalldatetime,
@mailFile varchar(50),
@idx int output
AS
set nocount on
insert into mailList ( name, email, mailFlag, mailDate, mailfile) values( @nName, @email, @mailFlag, @mailDate, @mailFile )
select @idx=scope_identity()
return @idx
GO
==== 사용 예
with dbConn
.beginTrans
Set cmd = Server.CreateObject("ADODB.Command")
with cmd '저장 프로시저를 이용한 데이터 저장
.activeConnection = dbConn
.prepared = true
.CommandType = 4
.CommandText = "mailWrite"
.Parameters("@nName").Value = nName
.Parameters("@email").Value = email
.Parameters("@mailFlag").Value = mailFlag
.Parameters("@mailDate").Value = mailDate
.Parameters("@mailFile").Value = mailFile
.Execute
idx = .Parameters("@idx")
end with
if .errors.count > 0 then
.rollbackTrans
else
.commitTrans
set rs = server.createObject("adodb.recordset")
with rs
qul="select * from mailList where idx="& idx
.open qul, dbConn, 3, 3
dbIdx = .fields("idx")
dbName = .fields("name")
dbEmail = .fields("email")
if .fields("mailFlag")=true then
dbMailFlag = "checked"
else
dbMailFlag = ""
end if
dbMailDate = .fields("mailDate")
dbMailFile = .fields("mailFile")
end with
response.write dbIdx &"<br>"& dbName &"<br>"&_
dbEmail &"<br>"& dbMailFlag &"<br>"& dbMailDate &"<br>"& dbMailFile
end if
end with