|
|
|
Oracle การทำ code runing number , Auto Increment ใช้ฐานข้อมูล Oracle |
|
|
|
|
|
|
|
ได้แล้วครับต้องขอขอบคุณ
บุรินทร์ รุจจนพันธุ์ (Mr.Burin
Rujjanapan)
อาจารย์ประจำ
มหาวิทยาลัยโยนก จังหวัดลำปาง
ที่ช่วยชี่แนะครับผม
ผมเอามาลงไว้เผื่อมีคนอื่นจำเป็นต้องใช้ ลองเอาไปดัดแปลงกันเอาดูนะครับ
> thaialldbaccess97="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
> server.mappath("/cgi-bin/member01.mdb")
> set conn=server.createobject("ADODB.Connection")
> conn.open thaialldbaccess97
> set rec = server.createobject("ADODB.Recordset")
> dim idx
> sql = " Select max(id) as id from administrator";
> rec.open sql, conn , 2, 2
> if rec("id") > 0 then
> idx = rec("id") + 1
> end if
> rec.addnew
> rec("id")=idx
> rec("name")=request.form("name")
> rec("email")=request.form("email")
> rec("webname")=request.form("webname")
> rec("address")=request.form("address")
> rec("describ")=request.form("describ")
> rec.update
> rec.close
> conn.close
> set conn = nothing
> set rec = nothing
> %>
ไม่จำเป็นนะครับว่าต้องเป็นฐานช้อมูลอะไร ตัวนี้เป็นตัวที่จะใช้ รันลำดับที่ให้ โดยการตรวจเช็ค File ID ในฐานข้อมูลก่อน
ว่ามีค่าสูงสุดคือเลขอะไรแล้วเอามาบวก 1 ครับ
ถ้าคุณเขียนเวบที่เป็นฐาน่ข้อมูลใหญ่ๆๆ ผมว่าเหมาะมาก เพราะใน Oracle จะไม่มี File ที่เป็น Auto number หรือ Auto increment ลองศึกษากันดูนะครับ
|
|
|
|
|
Date :
1 เม.ย. 2551 22:57:13 |
By :
jonni_m |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สวัสดีครับ
ขออนุญาตแนะนำหน่อยนะครับ
1. code ตัวนี้น่าจะเหมาะสมสำหรับ user คนเดียว เพราะถ้า user หลายคน มันจะ select max ได้เลขตัวเดียวกัน ทำให้เมื่อ insert ลงตารางแล้วอาจจะผิดพลาดได้ (ถ้าผมเข้าใจผิดรบกวน เจ้าของกระทู้ช่วยแก้ด้วยนะครับ)
2. oracle ไม่ใช่ไม่มี file ที่เป็น auto number นะครับ มันมี object ที่มีหน้าที่ลักษณะเดียวกัน เรียกว่า SEQUENCE ครับ ซึ่งมันจะเป็นลักษณะคล้าย auto number ที่เราสามารถ ตั้งค่าต่ำสุด หรือสูงสุดของ SEQUENCE นั้นๆ ได้ ซึ่งเมื่อถึงค่าสูงสุดแล้วมันจะวนกลับไปที่ค่าต่ำสุดอีกครั้งครับ
ขอบคุณครับ
|
|
|
|
|
Date :
10 เม.ย. 2551 21:55:52 |
By :
somchu |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|