Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

กฎเริ่มต้นของ Parser สำหรับแยกวิเคราะห์ชื่อฟังก์ชัน Built-in ใน MySQL

จริงๆ แล้ว เมื่อ parser พบคำที่เป็นชื่อของ built-in function มันต้องตัดสินใจว่าชื่อนั้นแทนการเรียกฟังก์ชัน หรือเป็น non-expression reference ไปยัง identifier เช่น ชื่อตารางหรือคอลัมน์ พิจารณาคำสั่งต่อไปนี้

1. Select sum(salary) from employee;
2. Create table sum (i int);

ในคำสั่งแรก SUM เป็น reference ไปยังการเรียกฟังก์ชัน และในคำสั่งที่สอง มันอ้างอิงถึงชื่อตาราง

Parser ปฏิบัติตามกฎต่อไปนี้เพื่อแยกแยะว่าชื่อของพวกมันถูกใช้เป็นการเรียกฟังก์ชันหรือเป็น identifier ในบริบท non-reference

  • กฎ 1 - เพื่อใช้ชื่อเป็นการเรียกฟังก์ชันในนิพจน์ ต้องไม่มี whitespace ระหว่างชื่อและตัวอักษร ( parenthesis ต่อไป
  • กฎ 2 - ในทางกลับกัน เพื่อใช้ชื่อฟังก์ชันเป็น identifier มันต้องไม่ได้ตามทันทีโดย parenthesis