วันจันทร์ที่ 4 มิถุนายน พ.ศ. 2555

ตัวอย่าง 1 การเปรียบเทียบเทเบิ้ล ตำบล อำเภอ สองชุด เพื่อคัดลอกรหัสไปรษณีย์

/*  -- DATA NOT EQUAL !!!!! ---

select DISTINCT COUNT(*) AS DIST_113 from DISTRICT
select DISTINCT COUNT(*) AS DIST_ICON from ICON_EntForms_District
select DISTINCT COUNT(*) AS SDIST_113 from SUBDISTRICT
select DISTINCT COUNT(*) AS SDIST_ICON from ICON_EntForms_SubDistrict

*/

--- COMPARE (DIST,SDIST)   // DATA NOT EQUAL//

SELECT DISTINCT COUNT(*) AS TOTAL_113
         FROM SUBDISTRICT  SD INNER JOIN DISTRICT D
         ON  SD.SDIST_DIST_ID = D.DIST_ID
SELECT DISTINCT COUNT(*) AS TOTAL_ICON
     FROM ICON_EntForms_SubDistrict ISD INNER JOIN  ICON_EntForms_District ID
         ON ISD.DistrictID=ID.DistrictID

---------------FUNCTION TO UPDATE POSTAL IN SUBDISTRICT ---------------------

DECLARE @SDIST_NAME NVARCHAR(255)
DECLARE @DIST_NAME NVARCHAR(255)
DECLARE @POSTAL NVARCHAR(10)

DECLARE @TOTAL INT
DECLARE @I INT
SET @I =0

SELECT DISTINCT @TOTAL = COUNT (*) FROM  SUBDISTRICT  SD INNER JOIN
DISTRICT D ON  SD.SDIST_DIST_ID = D.DIST_ID

WHILE (@I<=@TOTAL)
  BEGIN
     SET @I+=1
 --- INTITIAL DIST,SDIST
     SELECT @SDIST_NAME = SDIST_NAME,@DIST_NAME =DIST_NAME
         FROM SUBDISTRICT  SD INNER JOIN DISTRICT D
                       ON  SD.SDIST_DIST_ID = D.DIST_ID
         WHERE SD.SDIST_ID = (@I+34296)

 --- FIND POSTAL FOR EACH (DIST,SDIST)
     SELECT @POSTAL=ISD.PostCode
     FROM ICON_EntForms_SubDistrict ISD INNER JOIN  ICON_EntForms_District ID
                       ON ISD.DistrictID=ID.DistrictID
         WHERE ISD.SubDistrictName = @SDIST_NAME AND ID.DistrictName=@DIST_NAME

 --- PRINT (UPDATE)
     --PRINT(CONVERT(VARCHAR(10),@I)+','+@DIST_NAME+','+@SDIST_NAME+','+@POSTAL)
     UPDATE SUBDISTRICT SET SDIST_POSTAL =@POSTAL WHERE SDIST_ID = (@I+34296)

  END

--PRINT(@TOTAL)

วันอังคารที่ 29 พฤษภาคม พ.ศ. 2555

Store Procedure คืออะไร ??
  
       หลายคนคงเคยได้ยิน คุ้นๆ ผ่านหู  เคยเขียน หรือว่ารู้จัก Store Procedure ดีอยู่แล้ว  ว่าแต่ว่าแล้วไอ้เจ้า Store Procedure นี่คืออะไรกันหละ แล้วมันอยู่ตรงไหน  จะสร้างมันขึ้นมาได้ยังไง ใช้ประโยชน์อะไรได้บ้าง ....แล้วเราจะเริ่มเรียนรู้ และ สร้างมันจากตรงไหนก่อนดีหละ  ทุกๆคำถาม สำหรับคนที่กำลังจะเริ่มจะศึกษาวิธีการเขียน Store Procedure .....เราจะชี้ทางให้เอง 555  
        มันง่ายมาก ถ้าคุณเคยเขียน SQL select  update delete ... ได้  Store Procedure ก็ไม่คอยต่างจ้า  เพียงทำความเข้าใจเรื่อง Logic  และ Formatt การเขียน Store Procedure เพิ่มนิดหน่อย  ....ก็ผ่านฉลุยละจ้า  ตั้งสติ ใจเย็น คุณทำล่ายยยยฮ้าาาา   ...........Let's Go !!!


ช่วงตอบคำถาม (ที่ตั้งเอง ^^)
           1.) Store Procedure คืออะไร
         Store Procedure  ถ้าจะให้เราเปรียบ เราจะบอกว่ามันเป็นประมาณ Method ที่เก็บ SQL Statement (ได้หลายอัน)  โดยการสร้างให้สามารถทำงานตาม  Logic ที่ต้องการได้ เช่นใส่ IF,WHILE....   และแน่นอนว่า เราสามารถใส่ Parameter และ สามารถ Declare ตัวแปรได้ เทียบๆก็ประมาณพวก Method ในการเขียน Code ภาษาต่างๆอะ   เหมือนกันเดี๊ยะๆ  แต่ว่านี้เป็น Method ของ DataBase ก็แค่นั้น  การเรียกใช้งานจะเรียกว่าการ Execute Store Procedure  จะ Execute ใน DB เอง ในการเขียน Programming  หรือในการสร้าง Report ก็ย่อมได้ทั้งนั้น  ขึ้นอยู่กับว่า  เราตั้งใจจะเขียน Store Procedure ไปเพื่ออะไร

เอ๊ะ!! ยังไงกัน ให้มอง  Store Procedure  เป็น Method ของ DB  เกิดมาเพิ่งเคยได้ยิน  ใครบอกเธอเนี่ย0.o !!!!   เอาตัวอย่างง่ายๆกันเลย

อยากสร้าง Store Procedure  ให้รับ PROJ_ID , COMMAND (UPDATE,DELETE) เพื่อทำการ (UPDATE,DELETE) ข้อมูลจากเทเบิ้ล PROJECT (ที่มีคอลัมคือ PROJ_ID (Primary Key) ,PROJ_NAME  )

ปล. ถ้าใส่ COMMAND มาเป็นอะไรอย่างอื่น จะ SELECT PROJ_ID นั้นออกมา


ปล1. คิดโจทย์ไม่ออก ประมาณนั้นเนอะ ค่อยๆดูเอานะ ไม่เข้าใจถามได้

ปล2. นี่เป็นคอนเซ็ปคร่าวๆนะจ๊ะ  เพื่อให้เริ่มต้นเขียนเองได้  ถ้าอยากได้รายละเอียดและคอนเซ็บแป๊ะที่มากกว่านี้ Serch Google เองเลยจ๊ะ 555 อย่าไปซีเรียส ชิวววว!!!