การใช้ตัวแปรในการสอบถาม SQL
คุณสามารถใช้ออบเจ็กต์ตัวแปรในการสอบถาม SQL รวมถึงค่าสตริงได้ ในการใช้ตัวแปรในการสอบถาม SQL การสอบถามต้องเขียนเป็นสูตร โดยเริ่มด้วยเครื่องหมายเท่ากับ (=) และมีสตริงที่ต่อด้วยเครื่องหมายและ (&)
คุณสามารถใช้ตัวแปรแทนชื่อตารางหรือรวมกับส่วนคำสั่ง WHERE แทนค่าตัวกรองได้
การใช้ตัวแปรสำหรับชื่อตาราง
แทนที่จะระบุชื่อตารางที่ชัดเจน คุณสามารถสร้างตัวแปรเพื่อเก็บชื่อตารางและเรียกใช้คำสั่ง select บนตัวแปรได้:
="SELECT * FROM "&GlobalVariables.TableName.Text
ซึ่งเทียบเท่ากับ:
SELECT * FROM [TableName]
การใช้ตัวแปรสำหรับค่าตัวกรอง
คุณสามารถสร้างตัวแปรเพื่อเก็บชื่อผลิตภัณฑ์:
="SELECT * FROM Products WHERE ProductName =’"&
GlobalVariables.ProductName.Text&"’"
ซึ่งจะเทียบเท่ากับการเลือกนี้จากตารางผลิตภัณฑ์:
SELECT * FROM Products WHERE ProductName= ’Widget’
โดยที่ตัวแปรส่งคืนค่าสตริง ตัวแปรนั้นต้องอยู่ในเครื่องหมายคำพูดเดียว (') โดยที่ตัวแปรส่งกลับค่าตัวเลขก็ไม่จำเป็น ตัวอย่างเช่น:
="SELECT * FROM Products WHERE ProductID="&
GlobalVariables.ProductID.Text
ไวยากรณ์เฉพาะฐานข้อมูล
มีความแตกต่างในวิธีที่ผู้ให้บริการฐานข้อมูลใช้ SQL รายการเชิงสัมพันธ์ถูกกำหนดโดยคำสั่ง SQL ดังนั้น ผู้ออกแบบรายงานอาจต้องเขียนคำสั่งเดียวกันหลายเวอร์ชันเพื่อให้แน่ใจว่าข้อกำหนดของรายการจะทำงานกับการเชื่อมต่อข้อมูลประเภทต่างๆ
ถ้าคุณใช้ตัวแปรในการสอบถาม SQL ไวยากรณ์ที่จำเป็นจะขึ้นอยู่กับชนิดของฐานข้อมูลที่เขียนแบบสอบถาม ตัวอย่างเช่น คำสั่งนี้เขียนด้วย SQL มาตรฐาน:
=" SELECT Id, AccCde FROM LdgA where AccCde like '"&GlobalVariables.GV_WhereClause.Text&"' "
สำหรับฐานข้อมูล Oracle คำสั่งจะเป็น:
=" SELECT ""Id"", ""AccCde"" FROM DES.LDGA where ""AccCde"" like '"&GlobalVariables.GV_WhereClause.Text&"' "
สำหรับฐานข้อมูล DB2 คำสั่งจะเป็น:
=" SELECT ""Id"", ""AccCde"" FROM ADMIN_DEV.""LdgA"" where ""AccCde"" like '"&GlobalVariables.GV_WhereClause.Text&"' "