http://redrebel.egloos.com/1717186 <-예전에 올렸던 방법
고수님이 도와주셔서 제가 먼저 등록했던 방법을 고쳤습니다.
정말 깔끔하게 떨어지더군요^^;
구현하려고하는 기능과 해야될 조건들은 예전의 글을 참조하세염.
방법은 테이블하나를 더 추가하여 하나의 레코드에 하나의 컬럼만을 생성한다.
CREATE TABLE [dbo].[ex_no_TBL] (
[idx] [int]
GO
이테이블에 sp가 접근을 하는데 sp는 테이블의 레코드를 1씩증가시키며 6500 이 넘으면 다시 1로 바뀌는 역활을한다.
CREATE PROC [dbo].[get_fileno]
--로컬변수 선언
@TextMaxNum int output
as
set nocount on
begin tran
update ex_no_TBL set idx = (case when idx+1 > 6500 then 1 else idx+1 end)
select @TextMaxNum=idx from flashmall_user.dbo.ex04
commit tran
RETURN(@TextMaxNum)
GO
asp 페이지에서 sp를 호출한다음에 @TextMaxNum 를 리턴받는다.
Set cmd = server.CreateObject("ADODB.command")
With cmd
.ActiveConnection = db 'open된 db
.CommandType = 4 'adCmdStoredProc 입니다. sp 접근시... 1는 text입니다.
.CommandText = "get_fileno"
.Parameters.Refresh
.Execute
End With
dim file_no
file_no = cmd.Parameters("@TextMaxNum").Value
sqlString = "insert into ex_TBL(c1,id) values("&file_no&",'"&id&"')"
db.execute sqlString
id 는 유저아이디입니다.
고수님이 도와주셔서 제가 먼저 등록했던 방법을 고쳤습니다.
정말 깔끔하게 떨어지더군요^^;
구현하려고하는 기능과 해야될 조건들은 예전의 글을 참조하세염.
방법은 테이블하나를 더 추가하여 하나의 레코드에 하나의 컬럼만을 생성한다.
CREATE TABLE [dbo].[ex_no_TBL] (
[idx] [int]
GO
이테이블에 sp가 접근을 하는데 sp는 테이블의 레코드를 1씩증가시키며 6500 이 넘으면 다시 1로 바뀌는 역활을한다.
CREATE PROC [dbo].[get_fileno]
--로컬변수 선언
@TextMaxNum int output
as
set nocount on
begin tran
update ex_no_TBL set idx = (case when idx+1 > 6500 then 1 else idx+1 end)
select @TextMaxNum=idx from flashmall_user.dbo.ex04
commit tran
RETURN(@TextMaxNum)
GO
asp 페이지에서 sp를 호출한다음에 @TextMaxNum 를 리턴받는다.
Set cmd = server.CreateObject("ADODB.command")
With cmd
.ActiveConnection = db 'open된 db
.CommandType = 4 'adCmdStoredProc 입니다. sp 접근시... 1는 text입니다.
.CommandText = "get_fileno"
.Parameters.Refresh
.Execute
End With
dim file_no
file_no = cmd.Parameters("@TextMaxNum").Value
sqlString = "insert into ex_TBL(c1,id) values("&file_no&",'"&id&"')"
db.execute sqlString
id 는 유저아이디입니다.