PC SOFT

AYUDA EN LÍNEA
DE WINDEV, WEBDEV Y WINDEV MOBILE

Este contenido proviene de una traducción automática.. Haga clic aquí para ver la versión original en inglés.
  • Panorama general
  • SELECT
  • SELECT
  • Caso especial: SELECCIONAR varios archivos
  • Casos especiales: SELECCIONAR sin FROM o SELECT usando una tabla virtual
  • Ejecución de un procedimiento almacenado
  • INSERT
  • INSERT
  • INSERTAR con selección
  • UPDATE
  • DELETE
  • CREATE TABLE
  • Tipos disponibles
  • CREATE TABLE AS
  • DROP TABLE
  • ALTER TABLE
  • CREAR ÍNDICE
  • GRANT
  • Derechos disponibles
  • REVOKE
  • CREATE VIEW
  • DROP VIEW
  • CREATE MATERIALIZED VIEW
  • DROP MATERIALIZED VIEW
  • REFRESH MATERIALIZED VIEW
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Otros
Procedimientos almacenados
Panorama general
Las principales sentencias SQL permitidas en las consultas SQL gestionadas por WINDEV y WEBDEV son las siguientes:
Consulte una documentación específica del lenguaje SQL para obtener más detalles.
Para conocer todos los comandos SQL (funciones, cláusulas, operadores,...) que se pueden utilizar en una consulta SQL gestionada por HFSQL, ver Comandos que se pueden utilizar en una consulta SQL gestionada por HFSQL.
señalar: A partir de la versión 19, HFSQL es el nuevo nombre de HyperFileSQL.
Notas:
  • Estas declaraciones pueden ser utilizadas:
    • en el código SQL de las consultas creadas en el editor de consultas. A continuación, estas consultas serán realizadas por HExecuteQuery.
    • en el código SQL de las consultas ejecutadas por HExecuteSQLQuery.
  • Versiones 15 y posteriores
    El carácter " puede utilizarse como delimitador de identificadores en consultas SQL según lo especificado por el estándar SQL92.
    Nueva funcionalidad versión 15
    El carácter " puede utilizarse como delimitador de identificadores en consultas SQL según lo especificado por el estándar SQL92.
    El carácter " puede utilizarse como delimitador de identificadores en consultas SQL según lo especificado por el estándar SQL92.

Importante

La versión de usuario del editor de consultas no permite crear consultas en código SQL utilizando los comandos INSERT, UPDATE o DELETE.
SELECT

SELECT

La sentencia SELECT se utiliza para buscar registros en uno o más archivos..
Use formato:
SELECT [ALL/DISTINCT] NamesOfItems AS NameOfItemsUsed
FROM FileName AS UsedFileName
[WHERE FileJoins [AND] SelectionConditions]
[GROUP BY NameOfItems [HAVING Condition]]
[ORDER BY NameOfItems]
Ejemplo: El siguiente código SQL se utiliza para mostrar la suma total de los pedidos por cliente que vive en París. El resultado se agrupará por nombre de cliente, por código postal y por ciudad.. Sólo se considerarán los clientes con un importe total de pedidos superior a 3.000 euros.. El resultado se ordenará por el importe total del pedido en orden ascendente:
SELECT CUSTOMER.CustomerLName AS CustomerLName,
CUSTOMER.ZipCode AS ZipCode,
CUSTOMER.City AS City,
SUM(ORDERS.TotalIOT) AS TotalIOT
FROM CUSTOMER AS CUST, ORDERS AS ORD
WHERE CUST.CustNum = ORD.CustNum
AND ZipCode LIKE '75%'
GROUP BY CustomerLName, ZipCode, City
HAVING TotalIOT > 3000
ORDER BY TotalIOT ASC
Notas:
  • La palabra clave DISTINCT se utiliza para eliminar los registros duplicados del resultado de la consulta.
  • Vea Condiciones de selección en una consulta SQL para más detalles.
  • Se puede crear una consulta Select en el editor de consultas. Vea Creación de una consulta de selección para más detalles.
  • Versiones 19 y posteriores
    En la sintaxis de la secuencia SELECT, el parámetro NameOfItems puede contener una o más condiciones de selección. Por ejemplo:
    SELECT CustomerName, Age>18 AS Adult FROM Customer
    Nueva funcionalidad versión 19
    En la sintaxis de la secuencia SELECT, el parámetro NameOfItems puede contener una o más condiciones de selección. Por ejemplo:
    SELECT CustomerName, Age>18 AS Adult FROM Customer
    En la sintaxis de la secuencia SELECT, el parámetro NameOfItems puede contener una o más condiciones de selección. Por ejemplo:
    SELECT CustomerName, Age>18 AS Adult FROM Customer
Versiones 20 y posteriores
  • La sentencia SELECT puede utilizarse como expresión escalar, lo que significa que la sentencia SELECT puede utilizarse en lugar de un valor o una columna en las sentencias como INSERT, UPDATE, SELECT, etc..
    Por ejemplo:
    INSERT INTO TABLE (NAME, value) VALUES ( 'Rome a Rick',
    (SELECT MAX(NUMBER) FROM table2) )

    UPDATE customer SET gdttl = (SELECT SUM(invoice.grand_total)
    FROM invoice WHERE invoice.reference=customer.reference)

    SELECT NamesOfItems AS NameOfItemsUsed,
    (SELECT COUNT(*) FROM Table2 WHERE Item=NameOfItemsUsed)
    FROM Table1
señalar: La consulta SELECT utilizada como expresión escalar debe devolver un resultado en una sola columna y en una sola fila.
Nueva funcionalidad versión 20
  • La sentencia SELECT puede utilizarse como expresión escalar, lo que significa que la sentencia SELECT puede utilizarse en lugar de un valor o una columna en las sentencias como INSERT, UPDATE, SELECT, etc..
    Por ejemplo:
    INSERT INTO TABLE (NAME, value) VALUES ( 'Rome a Rick',
    (SELECT MAX(NUMBER) FROM table2) )

    UPDATE customer SET gdttl = (SELECT SUM(invoice.grand_total)
    FROM invoice WHERE invoice.reference=customer.reference)

    SELECT NamesOfItems AS NameOfItemsUsed,
    (SELECT COUNT(*) FROM Table2 WHERE Item=NameOfItemsUsed)
    FROM Table1
señalar: La consulta SELECT utilizada como expresión escalar debe devolver un resultado en una sola columna y en una sola fila.
  • La sentencia SELECT puede utilizarse como expresión escalar, lo que significa que la sentencia SELECT puede utilizarse en lugar de un valor o una columna en las sentencias como INSERT, UPDATE, SELECT, etc..
    Por ejemplo:
    INSERT INTO TABLE (NAME, value) VALUES ( 'Rome a Rick',
    (SELECT MAX(NUMBER) FROM table2) )

    UPDATE customer SET gdttl = (SELECT SUM(invoice.grand_total)
    FROM invoice WHERE invoice.reference=customer.reference)

    SELECT NamesOfItems AS NameOfItemsUsed,
    (SELECT COUNT(*) FROM Table2 WHERE Item=NameOfItemsUsed)
    FROM Table1
señalar: La consulta SELECT utilizada como expresión escalar debe devolver un resultado en una sola columna y en una sola fila.
Versiones 16 y posteriores

Caso especial: SELECCIONAR varios archivos

La instrucción SELECT también se puede utilizar para seleccionar en una consulta multiarchivo todas las columnas de una archivo de datos mediante la siguiente sintaxis:
SELECT Order_Line.*,Orders.OrderNum, ...
FROM Orders, Order_Line
Esta sintaxis es muy útil para las uniones y evita tener que introducir el nombre de cada elemento, lo cual es una operación larga y fastidiosa..
Nueva funcionalidad versión 16

Caso especial: SELECCIONAR varios archivos

La instrucción SELECT también se puede utilizar para seleccionar en una consulta multiarchivo todas las columnas de una archivo de datos mediante la siguiente sintaxis:
SELECT Order_Line.*,Orders.OrderNum, ...
FROM Orders, Order_Line
Esta sintaxis es muy útil para las uniones y evita tener que introducir el nombre de cada elemento, lo cual es una operación larga y fastidiosa..

Caso especial: SELECCIONAR varios archivos

La instrucción SELECT también se puede utilizar para seleccionar en una consulta multiarchivo todas las columnas de una archivo de datos mediante la siguiente sintaxis:
SELECT Order_Line.*,Orders.OrderNum, ...
FROM Orders, Order_Line
Esta sintaxis es muy útil para las uniones y evita tener que introducir el nombre de cada elemento, lo cual es una operación larga y fastidiosa..
Versiones 19 y posteriores

Casos especiales: SELECCIONAR sin FROM o SELECT usando una tabla virtual

La instrucción SELECT también se puede utilizar para ejecutar consultas que no se aplican a tablas:
  • al utilizar la sintaxis sin la cláusula "FROM.
    Ejemplo:
    SELECT TO_CHAR(12,'RN')
  • utilizando el sistema virtual DUAL tabla. Esta tabla virtual contiene un solo elemento (llamado "dummy") y un solo registro.
    Ejemplo:
    SELECT CURRENT_DATE FROM DUAL
Nueva funcionalidad versión 19

Casos especiales: SELECCIONAR sin FROM o SELECT usando una tabla virtual

La instrucción SELECT también se puede utilizar para ejecutar consultas que no se aplican a tablas:
  • al utilizar la sintaxis sin la cláusula "FROM.
    Ejemplo:
    SELECT TO_CHAR(12,'RN')
  • utilizando el sistema virtual DUAL tabla. Esta tabla virtual contiene un solo elemento (llamado "dummy") y un solo registro.
    Ejemplo:
    SELECT CURRENT_DATE FROM DUAL

Casos especiales: SELECCIONAR sin FROM o SELECT usando una tabla virtual

La instrucción SELECT también se puede utilizar para ejecutar consultas que no se aplican a tablas:
  • al utilizar la sintaxis sin la cláusula "FROM.
    Ejemplo:
    SELECT TO_CHAR(12,'RN')
  • utilizando el sistema virtual DUAL tabla. Esta tabla virtual contiene un solo elemento (llamado "dummy") y un solo registro.
    Ejemplo:
    SELECT CURRENT_DATE FROM DUAL

Ejecución de un procedimiento almacenado

La instrucción SELECT también se puede utilizar para ejecutar procedimientos almacenados directamente.
La siguiente sintaxis se utiliza para ejecutar el procedimiento almacenado:
SELECT NameOfStoredProcedure(NumericParameter,'StringParameter',....) [FROM DUAL]
comentario:
  • El procedimiento almacenado debe ser una función almacenada: siempre debe devolver un valor. De lo contrario, se producirá un error de ejecución..
  • Si el nombre del procedimiento almacenado es idéntico al nombre de una función o procedimiento encontrado en el proyecto, su nombre debe ir precedido por el nombre del conjunto de procedimientos almacenados..
  • El resultado de un procedimiento almacenado también puede ser uno de los parámetros de una consulta SELECT.
INSERT

INSERT

La sentencia INSERT se utiliza para añadir un registro a un archivo archivo de datos. Se utiliza el siguiente formato:
INSERT INTO FileName (NameOfItems)
VALUES (ValueOfItems)
Ejemplo: Los siguientes códigos SQL se utilizan para insertar un nuevo cliente en el archivo CLIENTE:
  • se proporcionan todos los datos del cliente:
    INSERT INTO CUSTOMER
    VALUES (77, 'Moore', 'Julia', '1 rue Giono',...
    '69000', 'Lyon')
  • sólo se suministra el número, el nombre y el nombre del cliente:
    INSERT INTO CUSTOMER (CustNum, CustomerLName, CustomerFName)
    VALUES (77, 'Moore', 'Julia')
Notas:
  • En WINDEV, la sentencia INSERT es single-tuple: Sólo añade un registro a la vez. La siguiente consulta no es aceptada:
    INSERT INTO CUSTOMER VALUES
    (1, 'Doe', 'John')
    (2, 'Wolff', 'Walter')
    (3, 'Black', 'Roger')
  • Se puede crear una consulta Insert en el editor de consultas. Vea Creación de una consulta de inserción para más detalles.
  • Para averiguar el valor del identificador automático durante una consulta INSERT en ficheros HFSQL (consulta ejecutada por HExecuteSQLQuery, HExecuteQuery o SQLExec): la variable SQL.Idauto se utiliza para averiguar el valor del identificador.
  • El comando INSERTAR no se puede utilizar para copiar datos de un archivo HFSQL a otro archivo HFSQL.
La sentencia INSERT se utiliza para añadir :
  • un registro en una archivo de datos.
  • Versiones 20 y posteriores
    varios registros en una archivo de datos.
    Nueva funcionalidad versión 20
    varios registros en una archivo de datos.
    varios registros en una archivo de datos.
Se utiliza el siguiente formato:
INSERT INTO FileName (NameOfItems)
VALUES (ValueItems add 1), (ValueItems add 2), ... , (ValueItems add N)
Ejemplos : El siguiente código SQL le permite insertar:
  • un nuevo cliente en el fichero CLIENTE (se proporciona la información completa del cliente).
    INSERT INTO CUSTOMER
    VALUES (77, 'Moore', 'Julia', '1 rue Giono',...
    '69000', 'Lyon')
  • un nuevo cliente en el fichero CLIENTE: sólo se suministra el número, el nombre y el nombre del cliente:
    INSERT INTO CUSTOMER (CustNum, CustomerLName, CustomerFName)
    VALUES (77, 'Moore', 'Julia')
  • Versiones 20 y posteriores
    3 productos en un archivo PRODUCTO:
    INSERT INTO PRODUCT
    VALUES ('Ref01', 'Mineral water'), ('Ref02', 'Butter'), ('Ref03', 'Sponge')
    Nueva funcionalidad versión 20
    3 productos en un archivo PRODUCTO:
    INSERT INTO PRODUCT
    VALUES ('Ref01', 'Mineral water'), ('Ref02', 'Butter'), ('Ref03', 'Sponge')
    3 productos en un archivo PRODUCTO:
    INSERT INTO PRODUCT
    VALUES ('Ref01', 'Mineral water'), ('Ref02', 'Butter'), ('Ref03', 'Sponge')
Notas:
  • Se puede crear una consulta Insert en el editor de consultas. Vea Creación de una consulta de inserción para más detalles.
  • Para averiguar el valor del identificador automático durante una consulta INSERT en ficheros HFSQL (consulta ejecutada por HExecuteSQLQuery, HExecuteQuery o SQLExec): la variable SQL.Idauto se utiliza para averiguar el valor del identificador.
  • El comando INSERTAR no se puede utilizar para copiar datos de un archivo HFSQL a otro archivo HFSQL.
  • La variable H.NbRecModificationQuery se utiliza para averiguar el número de registros insertados.

INSERTAR con selección

La sentencia INSERT también puede utilizarse para insertar una selección de registros realizada por una consulta SELECT. Su formato de uso se convierte en:
INSERT INTO FileName [(NameOfItems)] SELECT...
Notas:
  • El número de elementos a insertar debe ser idéntico al número de valores devueltos por la consulta SELECT.
  • Todas las posiciones de los ficheros se tienen en cuenta si no se especifica ninguna posición en la sentencia INSERT.
  • Este tipo de consulta no se puede crear en el editor de consultas.
UPDATE
La sentencia UPDATE se utiliza para actualizar los registros de un archivo. Se utiliza el siguiente formato:
UPDATE FileName
SET NameOfItem = Expression
[WHERE Conditions]
Ejemplo: El siguiente código SQL se utiliza para modificar el título y el nombre del cliente llamado Montgomery:
UPDATE CUSTOMER
SET Title = 'Mrs',
CustomerLName = 'Darwin'
WHERE CustomerLName = 'Montgomery'
Notas sobre el uso de la sentencia UPDATE en WINDEV:
  • La cláusula WHERE acepta las sub-selecciones (por SELECT), si la sub-selección es relativa a otro archivo.
  • La expresión SET no acepta ninguna sub-selección (sin comando SELECT justo después de SET). Del mismo modo, no se puede realizar ningún join en la sección UPDATE de la consulta..
    Se acepta la siguiente consulta:
    UPDATE PRODUCT SET SalesPrice = 1000
    WHERE ProductRef IN (SELECT ORDERS.ProductRef FROM ORDERS)
    -- Sub-query in WHERE: OK

    La siguiente consulta no es aceptada :
    UPDATE Product
    SET SalesPrice = (SELECT AVG(ORDERS.UnitPrice) FROM ORDERS
    -- Sub-query in SET: NOT VALID
    WHERE ORDERS.ProductRef = PRODUCT.ProductRef
    GROUP BY ORDERS.ProductRef)
    WHERE ProductRef IN (SELECT ORDERS.ProductRef FROM ORDERS)

    Del mismo modo, la siguiente pregunta no es aceptada :
    UPDATE Article INNER JOIN PRODUCT ON (Article.ArticleID = Product.ProductID)
    -- Join in UPDATE: NOT VALID
    SET Article.SalesPrice = Product.SalesPrice
    WHERE ProductRef IN (SELECT ORDERS.ProductRef FROM ORDERS)
  • Una consulta de actualización se puede crear directamente en el editor de consultas. Vea Creación de una consulta de actualización para más detalles.
  • La cita se utiliza como delimitador para las cadenas en las consultas SQL. Si el valor que se va a escribir debe contener un apóstrofo, este valor debe estar precedido por el carácter backslash ('\'). Por ejemplo:
    UPDATE CUSTOMER
    SET Address = 'Rue de l\'écluse'
    WHERE CustomerLName = 'Montgomery'
  • La variable H.NbRecModificationQuery se utiliza para averiguar el número de registros actualizados.
DELETE
La sentencia DELETE se utiliza para eliminar registros de un archivo. Se utiliza el siguiente formato:
DELETE FROM FileName
WHERE Conditions
Ejemplo: El siguiente código SQL se utiliza para eliminar los clientes nacidos entre el 01/01/1971 y el 01/01/1975:
DELETE FROM CUSTOMER
WHERE CUSTOMER.DateOfBirth BETWEEN '19710101' AND '19750101'
Nota: Se puede crear una consulta Delete en el editor de consultas. Vea Creación de una consulta de borrado para más detalles.
CREATE TABLE
La sentencia CREATE TABLE se utiliza para describir una tabla y para crearla. Se utiliza el siguiente formato:
CREATE TABLE TableName
(
Description of item1,
Description of item2,
...
Description Index1,
Description Index2,
...
)
En esta sintaxis:
  • los parámetros "Descripción de elemento" corresponden a:
    ItemName type  [DEFAULT 'value' | DEFAULT NULL] [NOT NULL]
      [UNIQUE] [PRIMARY KEY]  [AUTO_INCREMENT] [COMMENT 'caption'] [COLLATE 'language']
    dónde:
    • Nombre del artículo : nombre que se le dará al artículo.
    • Tipos : Tipo de artículo (elegido entre los tipos disponibles que se presentan a continuación).
    • DEFAULT: se utiliza para definir el valor de propuesta de la posición.
    • Versiones 16 y posteriores
      NOT NULL : se utiliza para evitar que se asigne el valor NULL al elemento.
      Nueva funcionalidad versión 16
      NOT NULL : se utiliza para evitar que se asigne el valor NULL al elemento.
      NOT NULL : se utiliza para evitar que se asigne el valor NULL al elemento.
    • AUTO_INCREMENT : se utiliza para definir un identificador automático para los ítems enteros.
    • COMPROMENTACIÓN: se utiliza para definir el título del artículo.
    • COLLATE: se utiliza para definir el idioma para clasificar la posición (por ejemplo: 'FR_BE').
  • los parámetros "Descripción de índice" corresponden a:
    INDEX IndexName ( itm1 [ASC | DESC] [CI] [AI] [PI], itm2 ... ) [UNIQUE]
    dónde:
    • ASC y DESC: se utiliza para definir la dirección de clasificación.
    • CI: se utiliza para especificar que se ignora el caso.
    • AI: se utiliza para especificar que los caracteres acentuados se ignoran.
    • PI: se utiliza para especificar que se ignora la puntuación.
Nota: Este tipo de consulta no se puede crear con el asistente que se encuentra en el editor de consultas.

Tipos disponibles

Los tipos disponibles son:
CARÁCTERCadena de caracteres
CARACTER(Tamaño)Tamaño del cordaje
VARCHAR(Tamaño)Tamaño del cordaje
Versiones 19 y posteriores
VARIACIÓN DE CARACTERÍSTICAS(Tamaño)
Nueva funcionalidad versión 19
VARIACIÓN DE CARACTERÍSTICAS(Tamaño)
VARIACIÓN DE CARACTERÍSTICAS(Tamaño)
Tamaño del cordaje
Versiones 19 y posteriores
VARIACIÓN DE CARACTERÍSTICAS(Tamaño)
Nueva funcionalidad versión 19
VARIACIÓN DE CARACTERÍSTICAS(Tamaño)
VARIACIÓN DE CARACTERÍSTICAS(Tamaño)
Tamaño del cordaje
NVARCHAR(Tamaño)Cadena Unicode en tamaño
VARCHAR(Tamaño) BINARYCadena binaria en el tamaño
BINARY(Tamaño)Cadena binaria en el tamaño
VARBINARIO(Tamaño)Cadena binaria en el tamaño
BLOBMemo binario
CLOBNota de texto
TEXTONota de texto
NCLOBMemo Unicode
NTEXTMemo Unicode
NÚMERO(Precisión)Entero
NÚMERO (Precisión, escala)Entero
DECIMAL(Precision)Real
DECIMAL (Precisión, escala)Real
MINÚSCULA SIN FIRMAREntero de 1 byte sin signo
SMALLINT SIN FIRMAREntero de 2 bytes sin signo
ENTERO SIN SIGNOEntero de 4 bytes sin signo
BIGINT SIN FIRMAREntero de 8 bytes sin signo
TINYINTEntero de 1 byte con signo
SMALLINTEntero de 2 bytes con signo
INTEGEREntero de 4 bytes con signo
BIGINTEntero de 8 bytes con signo
FLOAT4 bytes reales
REAL8 bytes reales
DOBLE PRECISIÓN8 bytes reales
MONEYMoneda
FECHAFECHA
DATETIMEFecha y hora
TIMEmomento
CREATE TABLE AS
Versiones 20 y posteriores
La sentencia CREATE TABLE AS se utiliza para describir una tabla y para crearla a partir del resultado de una consulta selecta.. Las columnas tabla tienen los nombres y los tipos de datos asociados a las columnas que salen de la consulta SELECT.
Se utiliza el siguiente formato:
CREATE TABLE TableName AS SelectQuery [WITH NO DATA]
En esta sintaxis:
  • SelectQuery es una consulta SELECT. Se ejecuta la consulta y se crea la tabla a partir del resultado de esta consulta Select..
  • La opción "SIN DATOS" permite crear solo la estructura de la tabla (sin los datos que se encuentran en el resultado de la consulta de selección)..
Atención: El índice de la tabla creada puede diferir del de la fuente tabla.
Nota: Este tipo de consulta no se puede crear con el asistente que se encuentra en el editor de consultas.
Nueva funcionalidad versión 20
La sentencia CREATE TABLE AS se utiliza para describir una tabla y para crearla a partir del resultado de una consulta selecta.. Las columnas tabla tienen los nombres y los tipos de datos asociados a las columnas que salen de la consulta SELECT.
Se utiliza el siguiente formato:
CREATE TABLE TableName AS SelectQuery [WITH NO DATA]
En esta sintaxis:
  • SelectQuery es una consulta SELECT. Se ejecuta la consulta y se crea la tabla a partir del resultado de esta consulta Select..
  • La opción "SIN DATOS" permite crear solo la estructura de la tabla (sin los datos que se encuentran en el resultado de la consulta de selección)..
Atención: El índice de la tabla creada puede diferir del de la fuente tabla.
Nota: Este tipo de consulta no se puede crear con el asistente que se encuentra en el editor de consultas.
La sentencia CREATE TABLE AS se utiliza para describir una tabla y para crearla a partir del resultado de una consulta selecta.. Las columnas tabla tienen los nombres y los tipos de datos asociados a las columnas que salen de la consulta SELECT.
Se utiliza el siguiente formato:
CREATE TABLE TableName AS SelectQuery [WITH NO DATA]
En esta sintaxis:
  • SelectQuery es una consulta SELECT. Se ejecuta la consulta y se crea la tabla a partir del resultado de esta consulta Select..
  • La opción "SIN DATOS" permite crear solo la estructura de la tabla (sin los datos que se encuentran en el resultado de la consulta de selección)..
Atención: El índice de la tabla creada puede diferir del de la fuente tabla.
Nota: Este tipo de consulta no se puede crear con el asistente que se encuentra en el editor de consultas.
DROP TABLE
La sentencia DROP TABLE se utiliza para borrar físicamente una tabla. Se utiliza el siguiente formato:
DROP TABLE [ IF EXISTS ] name [, ...]
Notas:
  • IF EXISTS se utiliza para evitar devolver un error si el tabla no existe.
  • Este tipo de consulta no se puede crear con el asistente que se encuentra en el editor de consultas.
ALTER TABLE
Versiones 18 y posteriores
La sentencia ALTER TABLE se utiliza para modificar la estructura de una tabla existente.. Tiene la posibilidad de añadir o eliminar columnas e índices, cambiar el tipo de las columnas existentes, renombrar estas columnas o el propio tabla.. Se utiliza el siguiente formato:
ALTER TABLE TableName Action [, Action]....
En esta sintaxis:
  • los parámetros "Acción" corresponden a una de las siguientes acciones:
    ADD [COLUMN] Description of item
    ADD [COLUMN] (Description of item1 [,Description of item2]....)
    DROP [COLUMN] [IF EXISTS] ItemName
    DROP [COLUMN] [IF EXISTS] (NameItem1 [, NameItem2]...)
    ALTER [COLUMN] ItemName [SET DATA] TYPE alter_type_desc
    ALTER [COLUMN] ItemName SET DEFAULT <value>
    ALTER [COLUMN] ItemName DROP DEFAULT
    ADD [UNIQUE] INDEX [<IndexName>] (Description of index [, Description of index2]...)
    DROP INDEX [IF EXISTS] IndexName
    DROP INDEX [IF EXISTS] (NameIndex1 [, NameIndex2]...)
    RENAME COLUMN ItemName TO New_ItemName
  • Los parámetros "Descripción de elemento" corresponden a:
    ItemName type  [DEFAULT 'value' | DEFAULT NULL] [NOT NULL] [UNIQUE] [PRIMARY KEY]
     [AUTO_INCREMENT] [COMMENT 'caption'] [COLLATE 'language']
    dónde:
    • Nombre del artículo : nombre que se le dará al artículo.
    • Tipos : Tipo de posición (seleccionado entre los tipos mencionados anteriormente).
    • DEFAULT: se utiliza para definir el valor de propuesta de la posición.
    • NOT NULL : se utiliza para evitar que se asigne el valor NULL al elemento.
    • AUTO_INCREMENT : se utiliza para definir un identificador automático para los ítems enteros.
    • COMPROMENTACIÓN: se utiliza para definir el título del artículo.
    • COLLATE: se utiliza para definir el idioma para clasificar la posición (por ejemplo: 'FR_BE').
  • los parámetros "Descripción de índice" corresponden a:
    ItemName [ASC | DESC] [CI] [AI] [PI]
    dónde:
    • ASC y DESC: se utiliza para definir la dirección de clasificación.
    • CI: se utiliza para especificar que se ignora el caso.
    • AI: se utiliza para especificar que los caracteres acentuados se ignoran.
    • PI: se utiliza para especificar que se ignora la puntuación.
Notas:
  • Este tipo de consulta no se puede crear con el asistente que se encuentra en el editor de consultas.
  • Para utilizar la tabla modificada durante ALTER (sin análisis relacionado al proyecto), HDeclareExternal debe utilizarse después de la ejecución de la consulta ALTER TABLE.
Nueva funcionalidad versión 18
La sentencia ALTER TABLE se utiliza para modificar la estructura de una tabla existente.. Tiene la posibilidad de añadir o eliminar columnas e índices, cambiar el tipo de las columnas existentes, renombrar estas columnas o el propio tabla.. Se utiliza el siguiente formato:
ALTER TABLE TableName Action [, Action]....
En esta sintaxis:
  • los parámetros "Acción" corresponden a una de las siguientes acciones:
    ADD [COLUMN] Description of item
    ADD [COLUMN] (Description of item1 [,Description of item2]....)
    DROP [COLUMN] [IF EXISTS] ItemName
    DROP [COLUMN] [IF EXISTS] (NameItem1 [, NameItem2]...)
    ALTER [COLUMN] ItemName [SET DATA] TYPE alter_type_desc
    ALTER [COLUMN] ItemName SET DEFAULT <value>
    ALTER [COLUMN] ItemName DROP DEFAULT
    ADD [UNIQUE] INDEX [<IndexName>] (Description of index [, Description of index2]...)
    DROP INDEX [IF EXISTS] IndexName
    DROP INDEX [IF EXISTS] (NameIndex1 [, NameIndex2]...)
    RENAME COLUMN ItemName TO New_ItemName
  • Los parámetros "Descripción de elemento" corresponden a:
    ItemName type  [DEFAULT 'value' | DEFAULT NULL] [NOT NULL] [UNIQUE] [PRIMARY KEY]
     [AUTO_INCREMENT] [COMMENT 'caption'] [COLLATE 'language']
    dónde:
    • Nombre del artículo : nombre que se le dará al artículo.
    • Tipos : Tipo de posición (seleccionado entre los tipos mencionados anteriormente).
    • DEFAULT: se utiliza para definir el valor de propuesta de la posición.
    • NOT NULL : se utiliza para evitar que se asigne el valor NULL al elemento.
    • AUTO_INCREMENT : se utiliza para definir un identificador automático para los ítems enteros.
    • COMPROMENTACIÓN: se utiliza para definir el título del artículo.
    • COLLATE: se utiliza para definir el idioma para clasificar la posición (por ejemplo: 'FR_BE').
  • los parámetros "Descripción de índice" corresponden a:
    ItemName [ASC | DESC] [CI] [AI] [PI]
    dónde:
    • ASC y DESC: se utiliza para definir la dirección de clasificación.
    • CI: se utiliza para especificar que se ignora el caso.
    • AI: se utiliza para especificar que los caracteres acentuados se ignoran.
    • PI: se utiliza para especificar que se ignora la puntuación.
Notas:
  • Este tipo de consulta no se puede crear con el asistente que se encuentra en el editor de consultas.
  • Para utilizar la tabla modificada durante ALTER (sin análisis relacionado al proyecto), HDeclareExternal debe utilizarse después de la ejecución de la consulta ALTER TABLE.
La sentencia ALTER TABLE se utiliza para modificar la estructura de una tabla existente.. Tiene la posibilidad de añadir o eliminar columnas e índices, cambiar el tipo de las columnas existentes, renombrar estas columnas o el propio tabla.. Se utiliza el siguiente formato:
ALTER TABLE TableName Action [, Action]....
En esta sintaxis:
  • los parámetros "Acción" corresponden a una de las siguientes acciones:
    ADD [COLUMN] Description of item
    ADD [COLUMN] (Description of item1 [,Description of item2]....)
    DROP [COLUMN] [IF EXISTS] ItemName
    DROP [COLUMN] [IF EXISTS] (NameItem1 [, NameItem2]...)
    ALTER [COLUMN] ItemName [SET DATA] TYPE alter_type_desc
    ALTER [COLUMN] ItemName SET DEFAULT <value>
    ALTER [COLUMN] ItemName DROP DEFAULT
    ADD [UNIQUE] INDEX [<IndexName>] (Description of index [, Description of index2]...)
    DROP INDEX [IF EXISTS] IndexName
    DROP INDEX [IF EXISTS] (NameIndex1 [, NameIndex2]...)
    RENAME COLUMN ItemName TO New_ItemName
  • Los parámetros "Descripción de elemento" corresponden a:
    ItemName type  [DEFAULT 'value' | DEFAULT NULL] [NOT NULL] [UNIQUE] [PRIMARY KEY]
     [AUTO_INCREMENT] [COMMENT 'caption'] [COLLATE 'language']
    dónde:
    • Nombre del artículo : nombre que se le dará al artículo.
    • Tipos : Tipo de posición (seleccionado entre los tipos mencionados anteriormente).
    • DEFAULT: se utiliza para definir el valor de propuesta de la posición.
    • NOT NULL : se utiliza para evitar que se asigne el valor NULL al elemento.
    • AUTO_INCREMENT : se utiliza para definir un identificador automático para los ítems enteros.
    • COMPROMENTACIÓN: se utiliza para definir el título del artículo.
    • COLLATE: se utiliza para definir el idioma para clasificar la posición (por ejemplo: 'FR_BE').
  • los parámetros "Descripción de índice" corresponden a:
    ItemName [ASC | DESC] [CI] [AI] [PI]
    dónde:
    • ASC y DESC: se utiliza para definir la dirección de clasificación.
    • CI: se utiliza para especificar que se ignora el caso.
    • AI: se utiliza para especificar que los caracteres acentuados se ignoran.
    • PI: se utiliza para especificar que se ignora la puntuación.
Notas:
  • Este tipo de consulta no se puede crear con el asistente que se encuentra en el editor de consultas.
  • Para utilizar la tabla modificada durante ALTER (sin análisis relacionado al proyecto), HDeclareExternal debe utilizarse después de la ejecución de la consulta ALTER TABLE.
CREAR ÍNDICE
Versiones 18 y posteriores
La sentencia CREATE INDEX (equivalente a la sentencia ALTER TABLE) se utiliza para crear índices.. Esta sentencia se utiliza para añadir índices a un tabla existente.. Se utiliza el siguiente formato:
CREATE [UNIQUE] INDEX [IndexName] ON TableName (Description of index [, Description of index]... )
En este código, los parámetros "Descripción de índice" corresponden a:
ItemName [ASC | DESC] [CI] [AI] [PI]
dónde:
  • ASC y DESC: se utiliza para definir la dirección de clasificación.
  • CI: se utiliza para especificar que se ignora el caso.
  • AI: se utiliza para especificar que los caracteres acentuados se ignoran.
  • PI: se utiliza para especificar que se ignora la puntuación.
Nota: Este tipo de consulta no se puede crear con el asistente que se encuentra en el editor de consultas.
Versiones 20 y posteriores
Tiene la posibilidad de utilizar la sentencia CREATE INDEX en una vista materializada.. En este caso, el parámetro TableName corresponde al nombre de una vista materializada. Si la vista se actualiza, los índices se actualizan automáticamente: no hay necesidad de recrear los índices.
Ejemplo: Ejemplo: Creación de una vista materializada y una clave compuesta en esta vista.
-- Creating a materialized view
CREATE MATERIALIZED VIEW MyMaterializedView AS
SELECT
Customer.State, Customr.Disp, Customer.MemberType, COUNT(*) AS Qty
FROM Customer
WHERE Customer.Balance>0 AND Customer.Type=2
AND Customer.Family IN ('A', 'D', 'O')
GROUP BY Customer.State, Customer.Disp, Customer.MemberType;
--';' to be able to use another SQL statement after
--With a composite key
CREATE INDEX compkey ON MyMaterializedView (State ASC CI AI PI,Disp ASC CI AI PI,MemberType ASC)
Nueva funcionalidad versión 20
Tiene la posibilidad de utilizar la sentencia CREATE INDEX en una vista materializada.. En este caso, el parámetro TableName corresponde al nombre de una vista materializada. Si la vista se actualiza, los índices se actualizan automáticamente: no hay necesidad de recrear los índices.
Ejemplo: Ejemplo: Creación de una vista materializada y una clave compuesta en esta vista.
-- Creating a materialized view
CREATE MATERIALIZED VIEW MyMaterializedView AS
SELECT
Customer.State, Customr.Disp, Customer.MemberType, COUNT(*) AS Qty
FROM Customer
WHERE Customer.Balance>0 AND Customer.Type=2
AND Customer.Family IN ('A', 'D', 'O')
GROUP BY Customer.State, Customer.Disp, Customer.MemberType;
--';' to be able to use another SQL statement after
--With a composite key
CREATE INDEX compkey ON MyMaterializedView (State ASC CI AI PI,Disp ASC CI AI PI,MemberType ASC)
Tiene la posibilidad de utilizar la sentencia CREATE INDEX en una vista materializada.. En este caso, el parámetro TableName corresponde al nombre de una vista materializada. Si la vista se actualiza, los índices se actualizan automáticamente: no hay necesidad de recrear los índices.
Ejemplo: Ejemplo: Creación de una vista materializada y una clave compuesta en esta vista.
-- Creating a materialized view
CREATE MATERIALIZED VIEW MyMaterializedView AS
SELECT
Customer.State, Customr.Disp, Customer.MemberType, COUNT(*) AS Qty
FROM Customer
WHERE Customer.Balance>0 AND Customer.Type=2
AND Customer.Family IN ('A', 'D', 'O')
GROUP BY Customer.State, Customer.Disp, Customer.MemberType;
--';' to be able to use another SQL statement after
--With a composite key
CREATE INDEX compkey ON MyMaterializedView (State ASC CI AI PI,Disp ASC CI AI PI,MemberType ASC)
Nueva funcionalidad versión 18
La sentencia CREATE INDEX (equivalente a la sentencia ALTER TABLE) se utiliza para crear índices.. Esta sentencia se utiliza para añadir índices a un tabla existente.. Se utiliza el siguiente formato:
CREATE [UNIQUE] INDEX [IndexName] ON TableName (Description of index [, Description of index]... )
En este código, los parámetros "Descripción de índice" corresponden a:
ItemName [ASC | DESC] [CI] [AI] [PI]
dónde:
  • ASC y DESC: se utiliza para definir la dirección de clasificación.
  • CI: se utiliza para especificar que se ignora el caso.
  • AI: se utiliza para especificar que los caracteres acentuados se ignoran.
  • PI: se utiliza para especificar que se ignora la puntuación.
Nota: Este tipo de consulta no se puede crear con el asistente que se encuentra en el editor de consultas.
Versiones 20 y posteriores
Tiene la posibilidad de utilizar la sentencia CREATE INDEX en una vista materializada.. En este caso, el parámetro TableName corresponde al nombre de una vista materializada. Si la vista se actualiza, los índices se actualizan automáticamente: no hay necesidad de recrear los índices.
Ejemplo: Ejemplo: Creación de una vista materializada y una clave compuesta en esta vista.
-- Creating a materialized view
CREATE MATERIALIZED VIEW MyMaterializedView AS
SELECT
Customer.State, Customr.Disp, Customer.MemberType, COUNT(*) AS Qty
FROM Customer
WHERE Customer.Balance>0 AND Customer.Type=2
AND Customer.Family IN ('A', 'D', 'O')
GROUP BY Customer.State, Customer.Disp, Customer.MemberType;
--';' to be able to use another SQL statement after
--With a composite key
CREATE INDEX compkey ON MyMaterializedView (State ASC CI AI PI,Disp ASC CI AI PI,MemberType ASC)
Nueva funcionalidad versión 20
Tiene la posibilidad de utilizar la sentencia CREATE INDEX en una vista materializada.. En este caso, el parámetro TableName corresponde al nombre de una vista materializada. Si la vista se actualiza, los índices se actualizan automáticamente: no hay necesidad de recrear los índices.
Ejemplo: Ejemplo: Creación de una vista materializada y una clave compuesta en esta vista.
-- Creating a materialized view
CREATE MATERIALIZED VIEW MyMaterializedView AS
SELECT
Customer.State, Customr.Disp, Customer.MemberType, COUNT(*) AS Qty
FROM Customer
WHERE Customer.Balance>0 AND Customer.Type=2
AND Customer.Family IN ('A', 'D', 'O')
GROUP BY Customer.State, Customer.Disp, Customer.MemberType;
--';' to be able to use another SQL statement after
--With a composite key
CREATE INDEX compkey ON MyMaterializedView (State ASC CI AI PI,Disp ASC CI AI PI,MemberType ASC)
Tiene la posibilidad de utilizar la sentencia CREATE INDEX en una vista materializada.. En este caso, el parámetro TableName corresponde al nombre de una vista materializada. Si la vista se actualiza, los índices se actualizan automáticamente: no hay necesidad de recrear los índices.
Ejemplo: Ejemplo: Creación de una vista materializada y una clave compuesta en esta vista.
-- Creating a materialized view
CREATE MATERIALIZED VIEW MyMaterializedView AS
SELECT
Customer.State, Customr.Disp, Customer.MemberType, COUNT(*) AS Qty
FROM Customer
WHERE Customer.Balance>0 AND Customer.Type=2
AND Customer.Family IN ('A', 'D', 'O')
GROUP BY Customer.State, Customer.Disp, Customer.MemberType;
--';' to be able to use another SQL statement after
--With a composite key
CREATE INDEX compkey ON MyMaterializedView (State ASC CI AI PI,Disp ASC CI AI PI,MemberType ASC)
La sentencia CREATE INDEX (equivalente a la sentencia ALTER TABLE) se utiliza para crear índices.. Esta sentencia se utiliza para añadir índices a un tabla existente.. Se utiliza el siguiente formato:
CREATE [UNIQUE] INDEX [IndexName] ON TableName (Description of index [, Description of index]... )
En este código, los parámetros "Descripción de índice" corresponden a:
ItemName [ASC | DESC] [CI] [AI] [PI]
dónde:
  • ASC y DESC: se utiliza para definir la dirección de clasificación.
  • CI: se utiliza para especificar que se ignora el caso.
  • AI: se utiliza para especificar que los caracteres acentuados se ignoran.
  • PI: se utiliza para especificar que se ignora la puntuación.
Nota: Este tipo de consulta no se puede crear con el asistente que se encuentra en el editor de consultas.
Versiones 20 y posteriores
Tiene la posibilidad de utilizar la sentencia CREATE INDEX en una vista materializada.. En este caso, el parámetro TableName corresponde al nombre de una vista materializada. Si la vista se actualiza, los índices se actualizan automáticamente: no hay necesidad de recrear los índices.
Ejemplo: Ejemplo: Creación de una vista materializada y una clave compuesta en esta vista.
-- Creating a materialized view
CREATE MATERIALIZED VIEW MyMaterializedView AS
SELECT
Customer.State, Customr.Disp, Customer.MemberType, COUNT(*) AS Qty
FROM Customer
WHERE Customer.Balance>0 AND Customer.Type=2
AND Customer.Family IN ('A', 'D', 'O')
GROUP BY Customer.State, Customer.Disp, Customer.MemberType;
--';' to be able to use another SQL statement after
--With a composite key
CREATE INDEX compkey ON MyMaterializedView (State ASC CI AI PI,Disp ASC CI AI PI,MemberType ASC)
Nueva funcionalidad versión 20
Tiene la posibilidad de utilizar la sentencia CREATE INDEX en una vista materializada.. En este caso, el parámetro TableName corresponde al nombre de una vista materializada. Si la vista se actualiza, los índices se actualizan automáticamente: no hay necesidad de recrear los índices.
Ejemplo: Ejemplo: Creación de una vista materializada y una clave compuesta en esta vista.
-- Creating a materialized view
CREATE MATERIALIZED VIEW MyMaterializedView AS
SELECT
Customer.State, Customr.Disp, Customer.MemberType, COUNT(*) AS Qty
FROM Customer
WHERE Customer.Balance>0 AND Customer.Type=2
AND Customer.Family IN ('A', 'D', 'O')
GROUP BY Customer.State, Customer.Disp, Customer.MemberType;
--';' to be able to use another SQL statement after
--With a composite key
CREATE INDEX compkey ON MyMaterializedView (State ASC CI AI PI,Disp ASC CI AI PI,MemberType ASC)
Tiene la posibilidad de utilizar la sentencia CREATE INDEX en una vista materializada.. En este caso, el parámetro TableName corresponde al nombre de una vista materializada. Si la vista se actualiza, los índices se actualizan automáticamente: no hay necesidad de recrear los índices.
Ejemplo: Ejemplo: Creación de una vista materializada y una clave compuesta en esta vista.
-- Creating a materialized view
CREATE MATERIALIZED VIEW MyMaterializedView AS
SELECT
Customer.State, Customr.Disp, Customer.MemberType, COUNT(*) AS Qty
FROM Customer
WHERE Customer.Balance>0 AND Customer.Type=2
AND Customer.Family IN ('A', 'D', 'O')
GROUP BY Customer.State, Customer.Disp, Customer.MemberType;
--';' to be able to use another SQL statement after
--With a composite key
CREATE INDEX compkey ON MyMaterializedView (State ASC CI AI PI,Disp ASC CI AI PI,MemberType ASC)
GRANT
Versiones 20 y posteriores
Las consultas GRANT se utilizan para conceder derechos en un servidor HFSQL. Esta declaración consiste en otorgar los derechos hAuhorized al elemento. Se utiliza el siguiente formato:
  • Otorgar los derechos solicitados en las tablas especificadas a los usuarios especificados.:
    GRANT right[, right[, ... ]] ON [TABLE] table [, table [, ...]]  
    TO user [, user [, ...]]
  • Otorgar los derechos solicitados sobre las bases de datos especificadas a los usuarios especificados:.
    GRANT right[, right[, ... ]] ON DATABASE database [, database [, ...]]
    TO user [, user [, ...]]
  • Conceder los derechos solicitados en el servidor.
    GRANT right[, right[, ... ]]
    TO user [, user [, ...]]
Nota:
  • Este tipo de consulta no se puede crear con el asistente que se encuentra en el editor de consultas.
  • Estas consultas no se pueden utilizar en una base de datos HFSQL Classic, ni en una base de datos a la que se acceda mediante acceso nativo..

Derechos disponibles

Los derechos disponibles son:
SQL derechaHFSQL right
INSERThRightsInsert
BLOQUEOhRightsLock
GESTIONAR DERECHOShRightsChangeRights
PROPIETARIOhRightsChangeOwner
GESTIONAR DUPLICADOShRightsManageDuplicate
SELECThRightsRead
MANTENIMIENTOhRightsMaintenance
EDADhRightsAutoModif
UPDATEhRightsUpdate
DELETEhRightsDelete
BORRAR ARCHIVOhRightsDeleteFile
REFERENCIAShRightsChangeLink
CONECTARhRightsConnection
CONEXIÓN ENCRIPTADAhRightsEncryptedConnection
CREAhRightsCreateFile
DEPURARhRightsDebug
PROCEDIMIENTO DE EJECUCIÓNhRightsRunProcedure
GESTIONAR REFERENCIAShRightsManageIntegrity
PROCEDIMIENTO DE GESTIÓNhRightsManageProcedure
GESTIONAR TRIGGERhRightsManageTrigger
ACCESO PROHIBIDOhRightsNoDatabaseAccess
BACKUPhRightsBackup
ELIMINAR BASE DE DATOShRightsDeleteDB
PARARhRightsStopServer
CAMBIAR CONTRASEÑAhRightsChangePassword
CREAR BASE DE DATOShRightsCreateDB
DESCONECTARhRightsDisconnectClient
ENVIAR MENSAJEhRightsSendMessageToClient
GESTIONAR TAREAShRightsManageTask
GESTIONAR SERVIDORhRightsManageServer
GESTIONAR USUARIOhRightsManageUser
REGISTRO DE LECTURAhRightsReadLogStat
PRIORIDADhRightsPriority
REPLICAhRightsServidorReplicación
VER USUARIOhRightsSeeUser
Nueva funcionalidad versión 20
Las consultas GRANT se utilizan para conceder derechos en un servidor HFSQL. Esta declaración consiste en otorgar los derechos hAuhorized al elemento. Se utiliza el siguiente formato:
  • Otorgar los derechos solicitados en las tablas especificadas a los usuarios especificados.:
    GRANT right[, right[, ... ]] ON [TABLE] table [, table [, ...]]  
    TO user [, user [, ...]]
  • Otorgar los derechos solicitados sobre las bases de datos especificadas a los usuarios especificados:.
    GRANT right[, right[, ... ]] ON DATABASE database [, database [, ...]]
    TO user [, user [, ...]]
  • Conceder los derechos solicitados en el servidor.
    GRANT right[, right[, ... ]]
    TO user [, user [, ...]]
Nota:
  • Este tipo de consulta no se puede crear con el asistente que se encuentra en el editor de consultas.
  • Estas consultas no se pueden utilizar en una base de datos HFSQL Classic, ni en una base de datos a la que se acceda mediante acceso nativo..

Derechos disponibles

Los derechos disponibles son:
SQL derechaHFSQL right
INSERThRightsInsert
BLOQUEOhRightsLock
GESTIONAR DERECHOShRightsChangeRights
PROPIETARIOhRightsChangeOwner
GESTIONAR DUPLICADOShRightsManageDuplicate
SELECThRightsRead
MANTENIMIENTOhRightsMaintenance
EDADhRightsAutoModif
UPDATEhRightsUpdate
DELETEhRightsDelete
BORRAR ARCHIVOhRightsDeleteFile
REFERENCIAShRightsChangeLink
CONECTARhRightsConnection
CONEXIÓN ENCRIPTADAhRightsEncryptedConnection
CREAhRightsCreateFile
DEPURARhRightsDebug
PROCEDIMIENTO DE EJECUCIÓNhRightsRunProcedure
GESTIONAR REFERENCIAShRightsManageIntegrity
PROCEDIMIENTO DE GESTIÓNhRightsManageProcedure
GESTIONAR TRIGGERhRightsManageTrigger
ACCESO PROHIBIDOhRightsNoDatabaseAccess
BACKUPhRightsBackup
ELIMINAR BASE DE DATOShRightsDeleteDB
PARARhRightsStopServer
CAMBIAR CONTRASEÑAhRightsChangePassword
CREAR BASE DE DATOShRightsCreateDB
DESCONECTARhRightsDisconnectClient
ENVIAR MENSAJEhRightsSendMessageToClient
GESTIONAR TAREAShRightsManageTask
GESTIONAR SERVIDORhRightsManageServer
GESTIONAR USUARIOhRightsManageUser
REGISTRO DE LECTURAhRightsReadLogStat
PRIORIDADhRightsPriority
REPLICAhRightsServidorReplicación
VER USUARIOhRightsSeeUser
Las consultas GRANT se utilizan para conceder derechos en un servidor HFSQL. Esta declaración consiste en otorgar los derechos hAuhorized al elemento. Se utiliza el siguiente formato:
  • Otorgar los derechos solicitados en las tablas especificadas a los usuarios especificados.:
    GRANT right[, right[, ... ]] ON [TABLE] table [, table [, ...]]  
    TO user [, user [, ...]]
  • Otorgar los derechos solicitados sobre las bases de datos especificadas a los usuarios especificados:.
    GRANT right[, right[, ... ]] ON DATABASE database [, database [, ...]]
    TO user [, user [, ...]]
  • Conceder los derechos solicitados en el servidor.
    GRANT right[, right[, ... ]]
    TO user [, user [, ...]]
Nota:
  • Este tipo de consulta no se puede crear con el asistente que se encuentra en el editor de consultas.
  • Estas consultas no se pueden utilizar en una base de datos HFSQL Classic, ni en una base de datos a la que se acceda mediante acceso nativo..

Derechos disponibles

Los derechos disponibles son:
SQL derechaHFSQL right
INSERThRightsInsert
BLOQUEOhRightsLock
GESTIONAR DERECHOShRightsChangeRights
PROPIETARIOhRightsChangeOwner
GESTIONAR DUPLICADOShRightsManageDuplicate
SELECThRightsRead
MANTENIMIENTOhRightsMaintenance
EDADhRightsAutoModif
UPDATEhRightsUpdate
DELETEhRightsDelete
BORRAR ARCHIVOhRightsDeleteFile
REFERENCIAShRightsChangeLink
CONECTARhRightsConnection
CONEXIÓN ENCRIPTADAhRightsEncryptedConnection
CREAhRightsCreateFile
DEPURARhRightsDebug
PROCEDIMIENTO DE EJECUCIÓNhRightsRunProcedure
GESTIONAR REFERENCIAShRightsManageIntegrity
PROCEDIMIENTO DE GESTIÓNhRightsManageProcedure
GESTIONAR TRIGGERhRightsManageTrigger
ACCESO PROHIBIDOhRightsNoDatabaseAccess
BACKUPhRightsBackup
ELIMINAR BASE DE DATOShRightsDeleteDB
PARARhRightsStopServer
CAMBIAR CONTRASEÑAhRightsChangePassword
CREAR BASE DE DATOShRightsCreateDB
DESCONECTARhRightsDisconnectClient
ENVIAR MENSAJEhRightsSendMessageToClient
GESTIONAR TAREAShRightsManageTask
GESTIONAR SERVIDORhRightsManageServer
GESTIONAR USUARIOhRightsManageUser
REGISTRO DE LECTURAhRightsReadLogStat
PRIORIDADhRightsPriority
REPLICAhRightsServidorReplicación
VER USUARIOhRightsSeeUser
REVOKE
Versiones 20 y posteriores
Las consultas REVOKE se utilizan para eliminar derechos (cambiar los derechos a hInherit) en un servidor HFSQL.. Se utiliza el siguiente formato:
  • Establecer los derechos solicitados como heredados en las tablas especificadas para los usuarios especificados.
    REVOKE right[, right [, ... ]] ON [TABLE] table [, table [, ...]]  
    FROM user [, user [, ...]]
  • Establecer los derechos solicitados como heredados en las bases de datos especificadas para los usuarios especificados..
    REVOKE right[, right [, ... ]] ON DATABASE database [, database [, ...]]
    FROM user [, user [, ...]]
  • Establecer los derechos solicitados como heredados en el servidor.
    REVOKE right[, right [, ... ]] FROM user [, user [, ...]]
Nota
  • Este tipo de consulta no se puede crear con el asistente que se encuentra en el editor de consultas.
  • Estas consultas no funcionan en HFSQL Classic ni a través de los Accesos Nativos.
Derechos disponibles Derechos disponibles: Los derechos disponibles son idénticos al comando SQL GRANT. El tabla de derechos está disponible con el comando GRANT.
Nueva funcionalidad versión 20
Las consultas REVOKE se utilizan para eliminar derechos (cambiar los derechos a hInherit) en un servidor HFSQL.. Se utiliza el siguiente formato:
  • Establecer los derechos solicitados como heredados en las tablas especificadas para los usuarios especificados.
    REVOKE right[, right [, ... ]] ON [TABLE] table [, table [, ...]]  
    FROM user [, user [, ...]]
  • Establecer los derechos solicitados como heredados en las bases de datos especificadas para los usuarios especificados..
    REVOKE right[, right [, ... ]] ON DATABASE database [, database [, ...]]
    FROM user [, user [, ...]]
  • Establecer los derechos solicitados como heredados en el servidor.
    REVOKE right[, right [, ... ]] FROM user [, user [, ...]]
Nota
  • Este tipo de consulta no se puede crear con el asistente que se encuentra en el editor de consultas.
  • Estas consultas no funcionan en HFSQL Classic ni a través de los Accesos Nativos.
Derechos disponibles Derechos disponibles: Los derechos disponibles son idénticos al comando SQL GRANT. El tabla de derechos está disponible con el comando GRANT.
Las consultas REVOKE se utilizan para eliminar derechos (cambiar los derechos a hInherit) en un servidor HFSQL.. Se utiliza el siguiente formato:
  • Establecer los derechos solicitados como heredados en las tablas especificadas para los usuarios especificados.
    REVOKE right[, right [, ... ]] ON [TABLE] table [, table [, ...]]  
    FROM user [, user [, ...]]
  • Establecer los derechos solicitados como heredados en las bases de datos especificadas para los usuarios especificados..
    REVOKE right[, right [, ... ]] ON DATABASE database [, database [, ...]]
    FROM user [, user [, ...]]
  • Establecer los derechos solicitados como heredados en el servidor.
    REVOKE right[, right [, ... ]] FROM user [, user [, ...]]
Nota
  • Este tipo de consulta no se puede crear con el asistente que se encuentra en el editor de consultas.
  • Estas consultas no funcionan en HFSQL Classic ni a través de los Accesos Nativos.
Derechos disponibles Derechos disponibles: Los derechos disponibles son idénticos al comando SQL GRANT. El tabla de derechos está disponible con el comando GRANT.
CREATE VIEW
Versiones 20 y posteriores
CREATE VIEW se utiliza para crear una vista SQL. Las vistas SQL se asimilan a los archivos temporales de la memoria.. En la mayoría de los casos, una vista SQL se extrae de un archivo o de varios archivos.. Una vista puede ser manejada por un comando SELECT.
Ver vista SQL para más detalles.
Se utiliza el siguiente formato:
CREATE VIEW View [ ( Alias 1, Alias 2, ..., Alias N) ] AS SELECTQuery
En esta sintaxis:
  • Vista es el nombre de la vista.
  • Alias 1, Alias 2, Alias N representan los nombres de alias dados a los elementos procedentes de la consulta SELECT.
  • SELECTQuery es la consulta SELECT que se utiliza para seleccionar los registros que se encuentran en la vista.
Ejemplo SQL : Creación de una vista SQL que contiene la empresa, el nombre y el teléfono de los clientes:
CREATE VIEW V_Customers
AS SELECT Company, NAME, Phone FROM Customers
Nueva funcionalidad versión 20
CREATE VIEW se utiliza para crear una vista SQL. Las vistas SQL se asimilan a los archivos temporales de la memoria.. En la mayoría de los casos, una vista SQL se extrae de un archivo o de varios archivos.. Una vista puede ser manejada por un comando SELECT.
Ver vista SQL para más detalles.
Se utiliza el siguiente formato:
CREATE VIEW View [ ( Alias 1, Alias 2, ..., Alias N) ] AS SELECTQuery
En esta sintaxis:
  • Vista es el nombre de la vista.
  • Alias 1, Alias 2, Alias N representan los nombres de alias dados a los elementos procedentes de la consulta SELECT.
  • SELECTQuery es la consulta SELECT que se utiliza para seleccionar los registros que se encuentran en la vista.
Ejemplo SQL : Creación de una vista SQL que contiene la empresa, el nombre y el teléfono de los clientes:
CREATE VIEW V_Customers
AS SELECT Company, NAME, Phone FROM Customers
CREATE VIEW se utiliza para crear una vista SQL. Las vistas SQL se asimilan a los archivos temporales de la memoria.. En la mayoría de los casos, una vista SQL se extrae de un archivo o de varios archivos.. Una vista puede ser manejada por un comando SELECT.
Ver vista SQL para más detalles.
Se utiliza el siguiente formato:
CREATE VIEW View [ ( Alias 1, Alias 2, ..., Alias N) ] AS SELECTQuery
En esta sintaxis:
  • Vista es el nombre de la vista.
  • Alias 1, Alias 2, Alias N representan los nombres de alias dados a los elementos procedentes de la consulta SELECT.
  • SELECTQuery es la consulta SELECT que se utiliza para seleccionar los registros que se encuentran en la vista.
Ejemplo SQL : Creación de una vista SQL que contiene la empresa, el nombre y el teléfono de los clientes:
CREATE VIEW V_Customers
AS SELECT Company, NAME, Phone FROM Customers
DROP VIEW
Versiones 20 y posteriores
DROP VIEW se utiliza para eliminar una vista.
DROP VIEW [IF EXISTS] View 1 [, View 2, ...View N] [RESTRICT | CASCADE]
  • Si se especifica la palabra clave IF EXISTS y si las vistas no existen, se genera un mensaje de error.
  • Vista 1, Vista 2, ... La vista N representa la lista de vistas a eliminar.
  • Si se especifica la palabra clave RESTRICT, la vista no se borra si se utiliza actualmente.
  • Si se especifica la palabra clave CASCADE, se borra la vista y las vistas dependientes.
Nueva funcionalidad versión 20
DROP VIEW se utiliza para eliminar una vista.
DROP VIEW [IF EXISTS] View 1 [, View 2, ...View N] [RESTRICT | CASCADE]
  • Si se especifica la palabra clave IF EXISTS y si las vistas no existen, se genera un mensaje de error.
  • Vista 1, Vista 2, ... La vista N representa la lista de vistas a eliminar.
  • Si se especifica la palabra clave RESTRICT, la vista no se borra si se utiliza actualmente.
  • Si se especifica la palabra clave CASCADE, se borra la vista y las vistas dependientes.
DROP VIEW se utiliza para eliminar una vista.
DROP VIEW [IF EXISTS] View 1 [, View 2, ...View N] [RESTRICT | CASCADE]
  • Si se especifica la palabra clave IF EXISTS y si las vistas no existen, se genera un mensaje de error.
  • Vista 1, Vista 2, ... La vista N representa la lista de vistas a eliminar.
  • Si se especifica la palabra clave RESTRICT, la vista no se borra si se utiliza actualmente.
  • Si se especifica la palabra clave CASCADE, se borra la vista y las vistas dependientes.
CREATE MATERIALIZED VIEW
Versiones 20 y posteriores
Una visión materializada es una visión persistente: se crea un archivo en el disco a partir del contenido de la vista. Esta vista puede ser manejada posteriormente por una aplicación diferente a la que la creó.
CREATE MATERIALIZED VIEW se utiliza para crear una vista materializada.
CREATE MATERIALIZED VIEW View [ ( Alias 1, Alias 2, ...Alias N) ]
AS SELECT statement [WITH [ NO ] DATA]
  • La palabra clave WITH DATA crea una vista con datos.
  • La palabra clave SIN DATOS crea una vista vacía sin datos.
Nota
  • Este tipo de consulta no se puede crear con el asistente que se encuentra en el editor de consultas.
  • Es posible que estas consultas no funcionen en HFSQL Classic o con los Accesos Nativos.
Nueva funcionalidad versión 20
Una visión materializada es una visión persistente: se crea un archivo en el disco a partir del contenido de la vista. Esta vista puede ser manejada posteriormente por una aplicación diferente a la que la creó.
CREATE MATERIALIZED VIEW se utiliza para crear una vista materializada.
CREATE MATERIALIZED VIEW View [ ( Alias 1, Alias 2, ...Alias N) ]
AS SELECT statement [WITH [ NO ] DATA]
  • La palabra clave WITH DATA crea una vista con datos.
  • La palabra clave SIN DATOS crea una vista vacía sin datos.
Nota
  • Este tipo de consulta no se puede crear con el asistente que se encuentra en el editor de consultas.
  • Es posible que estas consultas no funcionen en HFSQL Classic o con los Accesos Nativos.
Una visión materializada es una visión persistente: se crea un archivo en el disco a partir del contenido de la vista. Esta vista puede ser manejada posteriormente por una aplicación diferente a la que la creó.
CREATE MATERIALIZED VIEW se utiliza para crear una vista materializada.
CREATE MATERIALIZED VIEW View [ ( Alias 1, Alias 2, ...Alias N) ]
AS SELECT statement [WITH [ NO ] DATA]
  • La palabra clave WITH DATA crea una vista con datos.
  • La palabra clave SIN DATOS crea una vista vacía sin datos.
Nota
  • Este tipo de consulta no se puede crear con el asistente que se encuentra en el editor de consultas.
  • Es posible que estas consultas no funcionen en HFSQL Classic o con los Accesos Nativos.
DROP MATERIALIZED VIEW
Versiones 20 y posteriores
DROP MATERIALIZED VIEW se utiliza para eliminar físicamente una vista materializada del disco.
DROP MATERIALIZED VIEW [IF EXISTS] View 1 [, View 2, ...View N] [RESTRICT | CASCADE]
  • Si se especifica la palabra clave IF EXISTS y si las vistas no existen, se genera un mensaje de error.
  • Vista 1, Vista 2, ... La vista N representa la lista de vistas a eliminar.
  • Si se especifica la palabra clave RESTRICT, la vista no se borra si se utiliza actualmente.
  • Si se especifica la palabra clave CASCADE, se borra la vista y las vistas dependientes.
Nueva funcionalidad versión 20
DROP MATERIALIZED VIEW se utiliza para eliminar físicamente una vista materializada del disco.
DROP MATERIALIZED VIEW [IF EXISTS] View 1 [, View 2, ...View N] [RESTRICT | CASCADE]
  • Si se especifica la palabra clave IF EXISTS y si las vistas no existen, se genera un mensaje de error.
  • Vista 1, Vista 2, ... La vista N representa la lista de vistas a eliminar.
  • Si se especifica la palabra clave RESTRICT, la vista no se borra si se utiliza actualmente.
  • Si se especifica la palabra clave CASCADE, se borra la vista y las vistas dependientes.
DROP MATERIALIZED VIEW se utiliza para eliminar físicamente una vista materializada del disco.
DROP MATERIALIZED VIEW [IF EXISTS] View 1 [, View 2, ...View N] [RESTRICT | CASCADE]
  • Si se especifica la palabra clave IF EXISTS y si las vistas no existen, se genera un mensaje de error.
  • Vista 1, Vista 2, ... La vista N representa la lista de vistas a eliminar.
  • Si se especifica la palabra clave RESTRICT, la vista no se borra si se utiliza actualmente.
  • Si se especifica la palabra clave CASCADE, se borra la vista y las vistas dependientes.
REFRESH MATERIALIZED VIEW
Versiones 20 y posteriores
REFRESH MATERIALIZED VIEW se utiliza para actualización el contenido de una vista materializada en disco.. La vista se recalcula por completo.
REFRESH MATERIALIZED VIEW View [WITH [ NO ] DATA]
  • La palabra clave WITH DATA refresca la vista con los nuevos datos.
  • La palabra clave SIN DATOS refresca la vista vacía sin datos.
Nueva funcionalidad versión 20
REFRESH MATERIALIZED VIEW se utiliza para actualización el contenido de una vista materializada en disco.. La vista se recalcula por completo.
REFRESH MATERIALIZED VIEW View [WITH [ NO ] DATA]
  • La palabra clave WITH DATA refresca la vista con los nuevos datos.
  • La palabra clave SIN DATOS refresca la vista vacía sin datos.
REFRESH MATERIALIZED VIEW se utiliza para actualización el contenido de una vista materializada en disco.. La vista se recalcula por completo.
REFRESH MATERIALIZED VIEW View [WITH [ NO ] DATA]
  • La palabra clave WITH DATA refresca la vista con los nuevos datos.
  • La palabra clave SIN DATOS refresca la vista vacía sin datos.
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Colocar em Ordem Crescente/Decrescente
Nessa dica de hoje,
Vou Ensinar como colocar
Em ordem Crescente e Decrescente
//=============
In this tip today,
I will teach how to put
In ascending and descending order
//=============
Dans cette astuce aujourd'hui,
Je vais apprendre à mettre
Dans l'ordre croissant et décroissant
//-----colocar em ordem descrescente
gs_ordem_consulta="desc"
mostra_cli(gn_classificacao)
ReturnToCapture(EDT_PROCURA)
// ordem crescente
gs_ordem_consulta is string="asc"
mostra_cli(gn_classificacao)
//===============
http://windevdesenvolvimento.blogspot.com.br/2017/03/aula-1083-windev-tabela-050-tabela.html

https://www.youtube.com/watch?v=45JUSTthT0I

De matos
10 03 2017
Exemplo Drop Table - Eliminar Tabela
IF YesNo("Deseja Eliminar Tabela Municipio") THEN
ds_DS_DATA_SOURCE is Data Source
s_SQL is string=""
s_SQL = [
DROP TABLE municipios
]
IF HExecuteSQLQuery(ds_DS_DATA_SOURCE,hQueryDefault,s_SQL) THEN
Error("Erro Query " + CR + HErrorInfo())
ELSE
Info("Tabela Municipio foi Eliminada")
END
END

// Blog Com Video Explicando drop table
// http://windevdesenvolvimento.blogspot.com.br/2016/01/windev-sql-15-sql-dropt-table-eliminar.html
De matos AMARILDO
08 01 2016