SQL/PSM
| 패러다임 | 다중 패러다임 |
|---|---|
| 발표일 | 1996 |
| 최근 버전 | SQL:2016 |
| 운영 체제 | 크로스 플랫폼 (멀티 플랫폼) |
| 주요 구현체 | |
| PL/SQL MySQL/MariaDB IBM's SQL PL Mimer SQL | |
| 영향을 받은 언어 | |
| PL/SQL 에이다[1] | |
SQL/PSM(SQL/Persistent Stored Modules)은 주로 저장 프로시저에 사용하기 위해 절차적 언어로 SQL 확장을 정의해둔 ISO 표준이다. 1996년에 SQL-92(ISO/IEC 9075-4:1996, 가끔은 PSM-96이나 SQL-92/PSM라고도 부름[2]))로 처음 출판된 SQL/PSM은 나중에 멀티 파트 SQL:1999 표준으로 통합되었으며, 그 뒤로 지금까지 이 표준의 파트 4로 유지되고 있다. 가장 최근 판은 SQL:2011이다. SQL:1999 파트 4는 초기 PSM-96 보다 적용되는 내용이 적었는데 그 까닭은 루틴을 정의하고 관리하고 호출하는 SQL 문들이 실제로는 파트 2 SQL/Foundation에 포함되면서 SQL/PSM라는 절차적 언어 그 자체만 남겨두었기 때문이다.[3] SQL/PSM 기능들은 SQL 표준이 관여하는 한 여전히 선택 사항이며, 이들 중 대부분은 기능 P001-P008 안에 그룹화되어 있다.
SQL/PSM은 제어 흐름, 예외 처리 (SQL/PSM에서는 "조건 관리/condition handling"라 부름), 지역 변수, 식의 변수 및 매개변수로의 할당, 커서의 절차적 이용을 위한 문법과 시맨틱을 표준화한다. 저장 프로시저를 위한 정보 스키마 (메타데이터)도 정의한다. SQL/PSM은 SQL:1999의 구조화된 자료형을 위한 메소드를 정의할 수 있는 언어의 하나이다. 이 밖에 SQL/JRT를 통한 자바가 있다.
실질적으로 MySQL의 절차적 언어와 IBM의 SQL PL (DB2에서 사용)은 SQL/PSM 표준에 매우 가깝다.[4]
SQL/PSM은 PL/SQL과 PL/pgSQL에 영향을 받았으며 이로 인해 서로 비슷한 언어이다.
같이 보기
각주
- ↑ Gulutzan, Peter (2015), 《Stored Procedures: critiques and defences》
- ↑ Eisenberg, A. (1996). “New standard for stored procedures in SQL”. 《ACM SIGMOD Record》 25 (4): 81–88. doi:10.1145/245882.245907.
- ↑ Melton, Jim; Simon, Alan R (2002). 《SQL: 1999》. Morgan Kaufmann. 541–42쪽. ISBN 978-1-55860-456-8.
- ↑ Harrison, Guy; Feuerstein, Steven (2008). 《MySQL Stored Procedure Programming》. O'Reilly. 49쪽. ISBN 978-0-596-10089-6.
참고 문헌
- Jim Melton, Understanding SQL's Stored Procedures: A Complete Guide to SQL/PSM, Morgan Kaufmann Publishers, 1998, ISBN 1-55860-461-8
| 이 글은 소프트웨어에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.