2012-03-21 20 views
24

En Oracle hay PL/SQL, un poderoso lenguaje imperativo. ¿Hay algo similar para MySQL?PL/MySQL ¿existe?

+1

Sea específico por favor. ¿Qué funcionalidad estás buscando? –

Respuesta

2

No. PL/SQL es un lenguaje de procedimiento almacenado específico para Oracle. Diferentes bases de datos usan diferentes idiomas para procedimientos almacenados. Consulte este page de la mySql documentación para obtener información sobre los procedimientos almacenados.

+0

Te veo en Google "pl/sql para mysql" al igual que lo hice y encontré el primer resultado. Quizás OP debería intentarlo la próxima vez :-) – Travesty3

+0

Por favor, compruebe el enlace que he dado si es el mismo que el resultado de google. –

+0

Vaya, no había revisado los enlaces. Bien por arreglarlo. – Travesty3

14

Mientras MySQL tiene componentes similares, no, no se puede utilizar PL \ SQL en MySQL. Lo mismo vale para T-SQL utilizado por MS SQL Server.

MySQL tiene un montón de documentación sobre el mismo at their website.

Por mucho que me gustaría hacer referencia a las respuestas de Yahoo, hay una buena explicación Here

Vas a ver que tanto PL \ SQL y T- SQL es Turing-completo, y probablemente proporcione un poco más de funcionalidad. Pero MySQL tiene muchas formas de realizar tareas similares.

Aquí es el contenido del Yahoo Respuestas mensaje:

MySQL es un multi-usuario del sistema de gestión de base de datos SQL multihilo (DBMS) 1 que tiene, de acuerdo con MySQL AB, más de 10 millones instalaciones.

Las bibliotecas para acceder a las bases de datos MySQL están disponibles en todos los principales lenguajes de programación con API específicas del idioma. Además, una interfaz ODBC llamada MyODBC permite lenguajes de programación adicionales que admiten la interfaz ODBC para comunicarse con una base de datos MySQL, , como ASP o Coldfusion. El servidor MySQL y bibliotecas oficiales se realizados sobre todo en ANSI C

MySQL es popular para aplicaciones web y actúa como el componente de base de datos de la lámpara, MAMP, y plataformas WAMP (Linux/Mac/Windows-Apache- MySQL-PHP/Perl ... y para errores de código abierto herramientas de seguimiento como Bugzilla. Su popularidad como aplicación web es estrechamente relacionada con la popularidad de PHP, que a menudo se combina con MySQL. PHP y MySQL son componentes esenciales para ejecutar la popular plataforma de blog de WordPress .

M implementa las siguientes funciones ySQL pero no por algún otro RDBMSes:

  • Múltiples motores de almacenamiento, lo que le permite elegir el que es más eficaz para cada tabla de la aplicación (en MySQL 5.0, motores de almacenamiento debe ser compilado en; en MySQL 5.1, los motores de almacenamiento pueden ser cargados dinámicamente en tiempo de ejecución): o Motores de almacenamiento nativos (MyISAM, Falcon, Fusionar, Memoria (montón), Federado, Archivar, CSV, Blackhole, Cluster) Motores de almacenamiento desarrollados por el fabricante (InnoDB, solidDB, NitroEDB, BrightHouse) motores de almacenamiento -Community-desarrollado
  • motores de almacenamiento de encargo
  • commit agrupación, reuniendo múltiples transacciones de varias conexiones en conjunto para aumentar el número de confirmaciones por segundo.

Nota :: MySQL está escrito en C y C++. El analizador SQL usa yacc y lexer hecho en casa. Un documento que describe algunas de las estructuras internas del código y las pautas de codificación está disponible en el sitio web MySQL .

SQL


SQL comúnmente expandida como Structured Query Language, es un lenguaje de programación diseñada para la recuperación y gestión de datos en sistemas de gestión de bases de datos relacionales, de creación del esquema de base de datos y modificación, y gestión de control de acceso a objetos de base de datos.

El lenguaje SQL se sub-divide en varios elementos del lenguaje, incluyendo:

  • declaraciones que pueden tener un efecto persistente en los esquemas y datos, o que puedan controlar las operaciones, el flujo del programa, conexiones, sesiones o diagnósticos.
  • Consultas que recuperan datos según criterios específicos.
  • Expresiones que pueden producir valores escalares o tablas que consisten en columnas y filas de datos.
  • Predicados que especifican condiciones que se pueden evaluar con lógica de tres valores de SQL (3VL) valores de verdad booleanos y se usan comúnmente para limitar los efectos de declaraciones y consultas, o para cambiar el flujo del programa .
  • cláusulas que son (en algunos casos) opcionales componentes constitutivos de las declaraciones y preguntas

funciona bajo ..defination concepto de datos de control de transacciones manipulación de datos de consulta

El SQL: 2003 estándar hace modificaciones menores a todas las partes del SQL: 1999, e introduce oficialmente en un par de nuevas características tales como: 1

  • XML características relacionadas
  • funciones de ventana
  • el generador de secuencia, lo que permite que las secuencias estandarizadas
  • dos tipos de columnas nuevas: valores generados automáticamente y i DENTIDAD columnas
  • la nueva instrucción MERGE
  • ampliaciones de la sentencia CREATE TABLE, para permitir "CREATE TABLE AS" y "CREATE TABLE LIKE"
  • la eliminación de la "BIT" implementado mal y "VARYING BIT" tipos de datos

PL/SQL


PL/SQL es propiedad de la extensión del procedimiento basado en el servidor de Oracle Corporation para el lenguaje de base de datos SQL. (Algunos otros sistemas de administración de bases de datos SQL ofrecen lenguajes similares a PL/SQL). Su sintaxis se asemeja mucho a la de de Ada.

PL/SQL admite variables, condiciones, matrices y excepciones. Las implementaciones de la versión 8 de Oracle RDBMS en adelante tienen funciones incluidas asociadas a la orientación a objetos.

El SQL subyacente funciona como un lenguaje declarativo. Estándar SQL, a diferencia de algunos lenguajes de programación funcionales, no requiere implementaciones de para convertir las llamadas finales en saltos. SQL no facilita fácilmente los accesos de "primera fila" y "resto de la tabla", y no puede realizar fácilmente algunas construcciones como bucles. PL/SQL, sin embargo, como un El lenguaje de procedimiento de Turing-complete que rellena estos huecos, permite a los desarrolladores de bases de datos Oracle interactuar con la base de datos relacional subyacente de una manera imperativa. Las instrucciones SQL pueden hacer explícitas las llamadas en línea a las funciones PL/SQL, o pueden provocar desencadenadores PL/SQL a desencadenar eventos de Lenguaje de Manipulación de Datos (DML) predefinidos.

procedimientos/SQL almacenados PL (funciones, procedimientos, paquetes y disparadores) que realizan LMD se compilan en una base de datos Oracle: a esta medida su código SQL puede someterse a la sintaxis de comprobación. Los programadores que trabajan en un entorno de base de datos Oracle pueden construir bloques PL/SQL de tal funcionalidad para servir como procedimientos, funciones; o pueden escribir segmentos en línea de PL/SQL dentro de las secuencias de comandos SQL * Plus.

Mientras que los programadores pueden incorporar fácilmente declaraciones SQL DML en PL/SQL (como definiciones de cursor, por ejemplo, o utilizando el SELECT ... a la sintaxis) declaraciones tales como CREATE TABLE /, Data Definition Language (DDL) DROP INDEX, etc. requiere el uso de "SQL dinámico".Anteriormente, las versiones de Oracle requerían el uso de un complejo paquete integrado DBMS_SQL para SQL dinámico en el que el sistema necesitaba analizar explícitamente y ejecutar una instrucción SQL. Las versiones más recientes han incluido un EJECUTAR sintaxis INMEDIATA llamado "SQL dinámico nativo", que considerablemente simplifica las cosas. Cualquier uso de DDL en Oracle dará como resultado una confirmación implícita de . Los programadores también pueden usar SQL dinámico para ejecutar DML , donde no conocen el contenido exacto de la declaración de antemano.

PL/SQL ofrece varios paquetes predefinidos para fines específicos. Tales paquetes PL/SQL incluyen:

  • DBMS_OUTPUT - para las operaciones de salida a destinos no de base de datos
  • DBMS_JOB - para el funcionamiento de los procedimientos/funciones específicas en un momento determinado (es decir, la programación)
  • DBMS_XPLAN - para formatear "explicar el plan" de salida
  • DBMS_SESSION - proporciona acceso a SQL ALTER SESSION y declaraciones conjunto de papeles, y otra información de sesión.
  • DBMS_METADATA - para extraer los metadatos del diccionario de datos (como las instrucciones de DDL)
  • UTL_FILE - para leer y escribir archivos en el disco
  • UTL_HTTP - para hacer solicitudes a los servidores web de la base de datos
  • UTL_SMTP - para el envío de correo desde la base de datos (a través de un servidor SMTP)

Oracle Corporation añade habitualmente más paquetes y/o se extiende funcionalidad paquete con cada versión sucesiva del DBMS de Oracle.