एंबेडेड एसक्यूएल

एंबेडेड SQL एक प्रोग्रामिंग भाषा की कम्प्यूटिंग  शक्ति और SQL की डेटाबेस डेटा मैनिपुलेशन भाषा क्षमताओं को संयोजित करने की एक विधि है। एंबेडेड SQL  कथन (प्रोग्रामिंग)  होस्ट भाषा के प्रोग्राम सोर्स कोड के साथ इनलाइन लिखे गए SQL स्टेटमेंट हैं। एम्बेडेड SQL स्टेटमेंट को एम्बेडेड SQL  preprocessor  द्वारा पदच्छेद किया जाता है और होस्ट-भाषा कॉल साइट द्वारा कोड  पुस्तकालय (कंप्यूटिंग)  में बदल दिया जाता है। प्रीप्रोसेसर से आउटपुट को होस्ट  संकलक  द्वारा संकलित किया जाता है। यह प्रोग्रामर को किसी भी संख्या में भाषाओं जैसे: श्रेणी: सी प्रोग्रामिंग भाषा परिवार | सी/सी ++, सीओबीओएल और फोरट्रान में लिखे गए प्रोग्राम में एसक्यूएल स्टेटमेंट एम्बेड करने की अनुमति देता है। यह SQL-व्युत्पन्न प्रोग्रामिंग भाषाओं से भिन्न है जो PL/SQL और Transact-SQL|T-SQL जैसे अलग-अलग प्रीप्रोसेसरों से नहीं गुजरती हैं।

SQL मानक समिति ने एम्बेडेड SQL मानक को दो चरणों में परिभाषित किया: मॉड्यूल SQL नामक एक औपचारिकता को परिभाषित किया गया था, फिर एम्बेडेड SQL मानक मॉड्यूल भाषा से प्राप्त किया गया था। SQL मानक SQL की एम्बेडिंग को एम्बेडेड SQL के रूप में परिभाषित करता है और जिस भाषा में SQL क्वेरी एम्बेडेड होती हैं उसे होस्ट भाषा कहा जाता है। एक लोकप्रिय होस्ट भाषा C है। उदाहरण के लिए, होस्ट भाषा C और एम्बेडेड SQL को Oracle डेटाबेस और Sybase डेटाबेस प्रबंधन सिस्टम में Pro*C, Informix में ESQL/C और PostgreSQL डेटाबेस प्रबंधन सिस्टम में ECPG कहा जाता है। SQL को PHP आदि भाषाओं में भी एम्बेड किया जा सकता है।

SQL मानक 2016 खरीद के माध्यम से उपलब्ध है और इसमें अध्याय '21 एंबेडेड SQL' और इसके सिंटैक्स नियम शामिल हैं।

अल्टीबेस

 * सी/सी++
 * APRE अपने DBMS सर्वर के लिए Altibase Corp. द्वारा प्रदान किया गया एक एम्बेडेड SQL प्रीकंपाइलर है।

आईबीएम डीबी2
Linux, UNIX और Windows के लिए IBM Db2 C, C++, Java, COBOL, FORTRAN और REXX के लिए एम्बेडेड SQL का समर्थन करता है, हालाँकि FORTRAN और REXX के लिए समर्थन हटा दिया गया है।

आईबीएम इनफॉर्मिक्स
Linux, Unix और Windows के लिए IBM Informix संस्करण 14.10 C के लिए एम्बेडेड SQL का समर्थन करता है। }

माइक्रोसॉफ्ट एसक्यूएल सर्वर

 * सी/सी++
 * सी के लिए एंबेडेड एसक्यूएल को माइक्रोसॉफ्ट एसक्यूएल सर्वर 2008 के रूप में हटा दिया गया है, हालांकि उत्पाद के पुराने संस्करण इसका समर्थन करते हैं।

माइमर एसक्यूएल
Linux, macOS, OpenVMS और Windows के लिए Mimer SQL एम्बेडेड SQL का समर्थन करता है।
 * सी/सी++
 * C/C++ के लिए एंबेडेड SQL Linux, macOS, OpenVMS और Windows पर समर्थित है।


 * कोबोल
 * COBOL के लिए एंबेडेड SQL OpenVMS पर समर्थित है।


 * फोरट्रान
 * फोरट्रान के लिए एंबेडेड एसक्यूएल ओपनवीएमएस पर समर्थित है।

ओरेकल डेटाबेस

 * एडा (प्रोग्रामिंग भाषा)
 * Pro*Ada को संस्करण 7.3 में Oracle Corporation द्वारा आधिकारिक तौर पर समर्थनहीन कर दिया गया था। Oracle8 से प्रारंभ करके, Pro*Ada को SQL*मॉड्यूल द्वारा प्रतिस्थापित किया गया था, लेकिन ऐसा प्रतीत होता है कि तब से इसे अद्यतन नहीं किया गया है। SQL*मॉड्यूल एक मॉड्यूल भाषा है जो एम्बेडेड SQL से भिन्न प्रोग्रामिंग विधि प्रदान करती है। SQL*मॉड्यूल Ada के लिए Ada83 भाषा मानक का समर्थन करता है।


 * सी/सी++
 * Pro*C Oracle8 के साथ Pro*C/C++ बन गया। Pro*C/C++ वर्तमान में Oracle डेटाबेस 11g के रूप में समर्थित है।


 * कोबोल
 * Pro*COBOL वर्तमान में Oracle डेटाबेस 11g के रूप में समर्थित है।


 * फोरट्रान
 * Pro*FORTRAN को अब Oracle8 के रूप में अपडेट नहीं किया गया है, लेकिन बग रिपोर्ट होने और ठीक होने पर Oracle पैच रिलीज़ जारी करना जारी रखेगा।


 * पास्कल (प्रोग्रामिंग भाषा)
 * प्रो*पास्कल को Oracle8 के साथ रिलीज़ नहीं किया गया था।


 * पीएल/आई
 * Pro*PL/I को Oracle8 के साथ रिलीज़ नहीं किया गया था। हालाँकि, Oracle प्रीकंपाइलर्स गाइड का Pro*PL/I अनुपूरक 11g रिलीज़ होने तक Oracle डॉक्यूमेंटेशन लाइब्रेरी में प्रदर्शित होता रहा। रिलीज़ 12सी के अनुसार, प्रो*पीएल/आई को ओरेकल डॉक्यूमेंटेशन लाइब्रेरी से हटा दिया गया है।

पोस्टग्रेएसक्यूएल

 * सी/सी++
 * ECPG संस्करण 6.3 से PostgreSQL का हिस्सा है।


 * कोबोल
 * Cobol-IT अब PostgreSQL के लिए एक COBOL प्रीकंपाइलर वितरित कर रहा है
 * माइक्रो फोकस अपने OpenESQL प्रीप्रोसेसर के माध्यम से समर्थन प्रदान करता है

एसएपी साइबेस
SAP Sybase ASE 15.7 सॉफ़्टवेयर डेवलपर किट Sybase के भाग के रूप में C और COBOL के लिए एम्बेडेड SQL का समर्थन करता है। SAP Sybase SQL Anywhere, SQL Anywhere डेटाबेस प्रबंधन प्रणाली SQL Anywhere के भाग के रूप में C और C++ के लिए एम्बेडेड SQL का समर्थन करता है। SAP Sybase IQ, Sybase IQ डेटाबेस प्रबंधन प्रणाली Sybase IQ के भाग के रूप में C और C++ के लिए एम्बेडेड SQL का समर्थन करता है।

डोमेन-विशिष्ट भाषाओं के माध्यम से एंबेडेड एसक्यूएल

 * भाषा एकीकृत क्वेरी|LINQ-to-SQL SQL जैसी भाषा को CLI भाषाओं|.NET भाषाओं की सूची में एम्बेड करता है।
 * जावा पर्सिस्टेंस एपीआई मानदंड एपीआई के माध्यम से जावा (प्रोग्रामिंग भाषा) में एक एसक्यूएल जैसी भाषा को एम्बेड करता है।
 * जावा ऑब्जेक्ट ओरिएंटेड क्वेरीइंग एक SQL जैसी भाषा को जावा (प्रोग्रामिंग भाषा) में एम्बेड करता है।

यह भी देखें

 * भाषा बंधन
 * पीएल/एसक्यूएल
 * प्रो*सी/सी++
 * एसक्यूएल/ओएलबी
 * एसक्यूएल पीएल
 * ट्रांजैक्ट-एसक्यूएल

बाहरी संबंध

 * Introduction to Pro*C Embedded SQL
 * Embedded SQL with Pro*C
 * SQL*Module for Ada Programmer's Guide, Release 8.0
 * ECPG, PostgreSQL Documentation
 * ESQL/C, Informix Documentation'
 * Embedded SQL in C, Mimer SQL Developer