คำถามติดแท็ก search-path

3
วิธีตรวจสอบว่ามีตารางอยู่ในสคีมาที่กำหนดหรือไม่
Postgres 8.4 และฐานข้อมูลที่สูงกว่ามีตารางทั่วไปในpublicสคีมาและตารางเฉพาะ บริษัท ในcompanyสคีมา companyชื่อสคีมามักเริ่มต้นด้วย'company'และลงท้ายด้วยหมายเลข บริษัท ดังนั้นอาจมีสกีมาเช่น: public company1 company2 company3 ... companynn แอปพลิเคชันจะทำงานกับ บริษัท เดียวเสมอ ระบุไว้ตามใน ODBC หรือสตริงการเชื่อมต่อ npgsql เช่น:search_path search_path='company3,public' คุณจะตรวจสอบว่าตารางที่กำหนดนั้นมีอยู่ในcompanynสคีมาที่ระบุได้อย่างไร เช่น: select isSpecific('company3','tablenotincompany3schema') ควรกลับมาfalseและ select isSpecific('company3','tableincompany3schema') trueควรกลับ ในกรณีใด ๆ ฟังก์ชันควรตรวจสอบเฉพาะcompanynสคีมาที่ผ่านไม่ใช่สคีมาอื่น ๆ ถ้าตารางที่กำหนดมีอยู่ทั้งในและสคีผ่านฟังก์ชั่นควรกลับpublic ควรใช้กับ Postgres 8.4 หรือใหม่กว่าtrue
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.