پرش به محتوا

Sql/psm

از ویکی‌پدیا، دانشنامهٔ آزاد

SQL/PSM ( SQL /Persistent Stored Modules) یک استاندارد ISO است که عمدتاً افزونه SQL را با زبان رویه ای برای استفاده در رویه های ذخیره شده تعریف می کند. در ابتدا در سال 1996 به عنوان افزونه SQL-92 منتشر شد (ISO/IEC 9075-4:1996، نسخه ای که گاهی اوقات PSM-96 یا حتی SQL-92/PSM [۱] نامیده می شود)، SQL/PSM بعداً در SQL:1999 استاندارد چند قسمتی گذاشته شد.، و از آن زمان تا کنون قسمت 4 آن استاندارد بوده است، آخرین مورد در SQL:2023 بوده است. [۲] بخش 4 SQL:1999 کمتر از PSM-96 اصلی را پوشش می‌دهد، زیرا دستورات SQL برای تعریف، مدیریت و فراخوانی روتین ها در واقع در بخش 2 SQL/Foundation بودند و تنها زبان رویه‌ای را به عنوان SQL/PSM باقی گذاشتند. [۳] تا آنجا که به استاندارد SQL مربوط می شود، امکانات SQL/PSM هنوز اختیاری هستند. اکثر آنها در ویژگی های P001-P008 گروه بندی شده اند.


SQL/PSM، گرامر(سینتکس)و معنایی را برای کنترل جریان ، مدیریت استثنا (که در SQL/PSM "کنترل شرایط" نام دارد)، متغیرهای عمومی، انتقال عبارت ها به متغیرها و پارامترها و استفاده (رویه ای) از مکان نماها، استاندارد می کند. همچنین یک طرح اطلاعاتی ( فراداده ) برای رویه های ذخیره شده تعریف می کند. SQL/PSM زبانی است که در آن می توان روش هایی را برای انواع ساختاری SQL:1999 تعریف کرد. دیگری جاوا، از طریق SQL/JRT است.

SQL/PSM ظاهراً به طور مستقیم از PL/SQL اوراکل گرفته شده است.Oracle PL/SQL را توسعه داد و آن را در سال 1991 منتشر کرد و زبان برنامه نویسی Ada برای وزارت دفاع ایالات متحده را پایه گذاری کرد.با این حال، اوراکل در مستند های خود فاصله ای با استاندارد حفظ کرده است.SQL PL ای بی ام(IBM) (که در DB2 استفاده می شود) و Mimer SQL [۴]پی اس ام(PSM) اولین محصول هایی بودند که به طور رسمی SQL/PSM را پیاده سازی کردند. معمولاً تصور می شود که این دو زبان و شاید زبان رویه ای MySQL / MariaDB به استاندارد SQL/PSM نزدیکترند.[۵] [۶]با این حال، یک افزونه PostgreSQL SQL/PSM را (در کنار سایر زبان‌های رویه‌ای خود مانند plpgsql گرفته شده از PL/SQL) پیاده‌سازی می‌کند، اگرچه بخشی از محصول اصلی نیست.[۷]

عملکرد RDF در OpenLink Virtuoso به طور کامل از طریق SQL/PSM، همراه با انواع داده های سفارشی (به عنوان مثال، ANY برای مدیریت URI و اشیاء رابطه تحت اللفظی( Literal relation objects))، نما گذاری پیچیده، و انتخاب های ذخیره سازی فیزیکی انعطاف پذیر (بر اساس ستون یا ردیف) توسعه یافته است.

در ادامه[ویرایش]

پیاده سازی های زیر از استاندارد استفاده می کنند، اما 100٪ با SQL/PSM سازگار نیستند:

متن باز :


اختصاصی:

منابع[ویرایش]

  1. Eisenberg, A. (1996). "New standard for stored procedures in SQL". ACM SIGMOD Record. 25 (4): 81–88. doi:10.1145/245882.245907. S2CID 13023149.
  2. "SQL:2023", Catalogue (webshop), ISO
  3. Melton, Jim; Simon, Alan R (2002). SQL: 1999. Morgan Kaufmann. pp. 541–42. ISBN 978-1-55860-456-8.
  4. "Stored Procedures in Mimer SQL".
  5. Harrison, Guy; Feuerstein, Steven (2008). MySQL Stored Procedure Programming. O'Reilly. p. 49. ISBN 978-0-596-10089-6.
  6. "Stored Procedures". MariaDB KnowledgeBase.
  7. plpsm0 (git) (repository), 7 July 2020.
  8. SQL/PSM (wigl) (manual), PostgreSQL, 2008
  9. "SQL Conformance", Documentation (9.2 ed.), PostgreSQL.
  10. "Chapter 8. SQL-Invoked Routines". hsqldb.org.
  11. "Chapter 11. SQL Procedure Language Guide". docs.openlinksw.com.
  12. "Invantive SQL v2.0 Grammar". Invantive.
  13. "Mimer SQL Stored Procedures". docs.mimer.com.
  1. Eisenberg, A. (1996). "New standard for stored procedures in SQL". ACM SIGMOD Record. 25 (4): 81–88. doi:10.1145/245882.245907.
  2. "SQL:2023", Catalogue (webshop), ISO
  3. {{cite book}}: Empty citation (help)
  4. "Stored Procedures in Mimer SQL".
  5. "Stored Procedures". MariaDB KnowledgeBase.
  6. {{cite book}}: Empty citation (help)
  7. "SQL Conformance", Documentation (9.2 ed.), PostgreSQL.
  8. "Chapter 8. SQL-Invoked Routines". hsqldb.org.
  9. {{cite book}}: Empty citation (help)
  10. "Stored Procedures". MariaDB KnowledgeBase.
  11. "Chapter 11. SQL Procedure Language Guide". docs.openlinksw.com.
  12. "Invantive SQL v2.0 Grammar". Invantive.
  13. "Mimer SQL Stored Procedures". docs.mimer.com.

مطالعه بیشتر[ویرایش]