SQL/PSM

SQL/PSM
SQL/PSM
패러다임다중 파라다임
첫 등장1996
안정적 해제
OS크로스 플랫폼(멀티 플랫폼)
주요 구현
PL/SQL
MySQL/MariaDB
IBM의 SQL PL
미머 SQL
영향을 받은
PL/SQL
에이다[1]

SQL/PSM(SQL/영구 저장 모듈)은 주로 저장 프로시저에 사용하기 위한 절차 언어를 사용하여 SQL의 확장을 정의하는 ISO 표준이다.1996년 SQL-92(ISO/IEC 9075-4:1996, PSM-96 또는 심지어 SQL-92/PSM이라고도[2] 하는 버전)의 확장으로 처음 출판된 SQL/PSM은 이후 다중 파트 SQL:1999 표준에 통합되었고, 그 이후로 이 표준의 4부로, 가장 최근에 SQL:2016에서 발표되었다.SQL:1999 파트 4는 루틴을 정의, 관리 및 호출하기 위한 SQL 문이 실제로 파트 2 SQL/Foundation에 통합되어 절차 언어 자체만 SQL/PSM으로 남아있기 때문에 원래 PSM-96보다 덜 다루었다.[3]SQL/PSM 설비는 SQL 표준에 관한 한 여전히 선택 사항이다. 대부분의 설비는 Feature P001-P008에 그룹화되어 있다.null

SQL/PSM은 제어 흐름, 예외 처리(SQL/PSM에서 "조건 처리"라고 함), 로컬 변수, 변수 및 파라미터에 식 할당, 커서(절차적) 사용을 위한 구문 및 의미 체계를 표준화한다.저장 프로시저를 위한 정보 스키마(메타데이터)도 정의한다.SQL/PSM은 SQL:1999 구조화 유형에 대한 방법을 정의할 수 있는 하나의 언어다.다른 하나는 SQL/JRT를 통한 자바다.

SQL/PSM은 Oracle의 PL/SQL에서 직접 파생된 것으로, Oracle은 PL/SQL을 개발해 1991년 미국 국방부Ada 프로그래밍 언어를 기반으로 출시했다.그러나 오라클은 문서의 표준과 거리를 유지했다.IBM의 SQL PL(DB2에서 사용)과 Mimer SQL의 PSM은[4] SQL/PSM을 공식적으로 구현한 최초의 두 제품이었다.일반적으로 이러한 두 언어, 그리고 아마도 MySQL/MariaDB의 절차적 언어가 SQL/PSM 표준에 가장 가깝다고 생각된다.[5] [6] 그러나, Postgre.SQL addon은 핵심 제품의 일부는 아니지만 SQL/PSM[7][8][9][10](PL/SQL 파생 plpgsql과 같은 다른 절차 언어와 함께)을 구현한다.[11]null

OpenLink VirtuosoRDF 기능은 사용자 정의 데이터 유형(예:ANYURI 및 리터럴 관계 객체 처리), 정교한 인덱싱 및 유연한 물리적 스토리지 선택(열 또는 행)null

참고 항목

다음 구현에서는 표준을 채택하지만 SQL/PSM과 100% 호환되지는 않는다.

오픈 소스:

소유권:

참조

  1. ^ Gulutzan, Peter (2015), Stored Procedures: critiques and defences
  2. ^ Eisenberg, A. (1996). "New standard for stored procedures in SQL". ACM SIGMOD Record. 25 (4): 81–88. doi:10.1145/245882.245907. S2CID 13023149.
  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. ^ a b Harrison, Guy; Feuerstein, Steven (2008). MySQL Stored Procedure Programming. O'Reilly. p. 49. ISBN 978-0-596-10089-6.
  6. ^ a b "Stored Procedures". MariaDB KnowledgeBase.
  7. ^ plpsm0 (git) (repository), 7 July 2020.
  8. ^ Announce, PostgreSQL, May 2011.
  9. ^ "PostgreSQL: Proposal: PL/pgPSM for 9.3". www.postgresql.org. 22 February 2012.
  10. ^ SQL/PSM (wiki) (manual), PostgreSQL, 2008.
  11. ^ "SQL Conformance", Documentation (9.2 ed.), PostgreSQL.
  12. ^ "Chapter 8. SQL-Invoked Routines". hsqldb.org.
  13. ^ "Chapter 11. SQL Procedure Language Guide". docs.openlinksw.com.
  14. ^ "Invantive SQL v2.0 Grammar". Invantive.

추가 읽기

  • Jim Melton, SQL의 저장 절차 이해: SQL/PSM에 대한 전체 가이드, Morgan Kaufmann Publishers, 1998, ISBN 1-55860-461-8