ไม่มีอะไรผิดปกติกับการใช้ SQL แบบไดนามิกถ้าคุณต้อง ในความเป็นจริงในบางสถานการณ์มันเป็นตัวเลือกเดียวที่คุณมี มันเป็นคำแนะนำมากกว่าที่จะไม่ใช้มันเพราะใช่มันสามารถนำไปสู่การฉีด SQL ถ้าอินพุตของคุณไม่ถูกสุขลักษณะและใช่โดยใช้ไดนามิก SQL ในโมดูลที่ถูกเรียกมักจะเป็นอันตรายต่อประสิทธิภาพการทำงานของมัน
ฉันไม่คิดว่าจะมีตัวอย่างที่เป็นรูปธรรม แต่ฉันจะพูดแบบนี้: พยายามบรรลุสิ่งที่คุณเป็นหลังจากใช้คำสั่งและข้อความปกติเป็นครั้งแรก - จากนั้นเมื่อคุณหมดช่องทางอื่น ๆ ทั้งหมดแบบไดนามิกแล้ว เพียงจำไว้ว่าการเรียกใช้งานสตริง SQL แบบไดนามิกนั้นเสร็จสิ้นในเซสชันผู้ใช้ที่แยกต่างหากไปยังโมดูลที่กำลังเรียกใช้ดังนั้นคุณอาจพบปัญหาการอนุญาตที่คุณไม่ต้องการ
หากคุณกังวลเกี่ยวกับประสิทธิภาพ ทดสอบมัน หากคุณกังวลเรื่องความปลอดภัย ตรวจสอบข้อมูลที่คุณป้อน ไม่มีถูกหรือผิด - เฉพาะคุณเท่านั้นที่ใช้วิจารณญาณที่ดีที่สุดของคุณตามข้อมูลและเครื่องมือที่คุณมีอยู่ในขณะนั้น