Руководство по SQL
Содержание:
- 1. Введение
- 2. SQL РЕД Базы Данных. Общие сведения
- 3. Выражения
- 4. Типы данных РЕД Базы Данных
- 4.1. Перечень типов данных
- 4.2. SMALLINT
- 4.3. INTEGER
- 4.4. BIGINT
- 4.5. INT128
- 4.6. Шестнадцатеричный формат для целых чисел
- 4.7. Восьмеричный формат для целых чисел
- 4.8. Двоичный формат для целых чисел
- 4.9. FLOAT
- 4.10. DOUBLE PRECISION
- 4.11. DECFLOAT
- 4.12. NUMERIC
- 4.13. DECIMAL
- 4.14. DATE
- 4.15. TIME
- 4.16. TIMESTAMP
- 4.17. CHAR
- 4.18. VARCHAR
- 4.19. NCHAR
- 4.20. Операции и функции для строковых данных
- 4.21. Строковые литералы
- 4.22. Наборы символов
- 4.23. BOOLEAN
- 4.24. BINARY
- 4.25. VARBINARY
- 4.26. BLOB
- 4.27. Массивы
- 4.28. SQL_NULL
- 4.29. Явное преобразование типов данных. Функция CAST
- 4.30. Неявное преобразование типов данных
- 5. JSON
- 6. Транзакции
- 6.1. SET TRANSACTION
- 6.2. Подтверждение транзакции
- 6.3. Откат (отмена) транзакции
- 6.4. Использование вложенных транзакций
- 6.5. Внутренние точки сохранения
- 6.6. Точки сохранения и PSQL
- 6.7. Вариант взаимной блокировки
- 7. Базы данных (
DATABASE) - 8. Оперативные копии (SHADOW)
- 9. Домены (
DOMAIN) - 10. Таблицы (
TABLE)- 10.1. Создание таблиц
- 10.1.1. Глобальные временные таблицы (GTTs)
- 10.1.2. Использование внешних файлов
- 10.1.3. Задание типа данных
- 10.1.4. Использование ссылки на домен
- 10.1.5. Значение по умолчанию
- 10.1.6. Значение NOT NULL
- 10.1.7. Ограничения
- 10.1.8. Нумерация столбцов
- 10.1.9. Вычисляемые столбцы
- 10.1.10. Столбцы идентификации
- 10.1.11. Привилегии выполнения
- 10.2. Изменение таблиц
- 10.2.1. Добавление нового столбца
- 10.2.2. Добавление ограничения таблицы
- 10.2.3. Удаление столбца таблицы
- 10.2.4. Удаление ограничения
- 10.2.5. Изменение существующего столбца
- 10.2.5.1. Изменение имени
- 10.2.5.2. Изменение типа данных столбца
- 10.2.5.3. Изменение позиции столбца
- 10.2.5.4. Удаление значения по умолчанию столбца
- 10.2.5.5. Добавление значения по умолчанию столбца
- 10.2.5.6. Добавление ограничения NOT NULL
- 10.2.5.7. Удаление ограничения NOT NULL
- 10.2.5.8. Изменение вычисляемых столбцов
- 10.2.5.9. Изменение столбцов идентификации
- 10.2.6. Изменение прав на работу с таблицей
- 10.2.7. Перемещение таблицы в табличное пространство
- 10.3. Удаление таблиц
- 10.4. Пересоздание таблицы
- 10.5. Примечание к таблице и ее столбцам
- 10.1. Создание таблиц
- 11. Табличное пространство (
TABLESPACE) - 12. Операторы DML
- 12.1. SELECT
- 12.1.1. WITH RECURSIVE
- 12.1.2. Список выбора
- 12.1.3. DISTINCT, ALL
- 12.1.4. FIRST и SKIP
- 12.1.5. FROM
- 12.1.6. JOIN
- 12.1.6.1. Неявное соединение
- 12.1.6.2. Внутреннее (INNER) соединение
- 12.1.6.3. Внешние (OUTER) соединения
- 12.1.6.4. Перекрестное (CROSS) соединение
- 12.1.6.5. Квалифицированные соединения
- 12.1.6.6. Естественное соединение
- 12.1.6.7. Смешивание явного и неявного соединения
- 12.1.6.8. Примечание о равенстве
- 12.1.6.9. Неоднозначные имена полей в соединениях
- 12.1.6.10. Соединения с хранимыми процедурами
- 12.1.6.11. Соединение с производными таблицами
- 12.1.7. WHERE
- 12.1.8. GROUP BY
- 12.1.9. WINDOW
- 12.1.10. UNION
- 12.1.11. PLAN
- 12.1.12. ORDER BY
- 12.1.13. OPTIMIZE FOR
- 12.1.14. ROWS
- 12.1.15. FETCH, OFFSET
- 12.1.16. WITH LOCK
- 12.1.17. INTO
- 12.1.18. Полный синтаксис SELECT
- 12.2. INSERT
- 12.3. UPDATE
- 12.4. UPDATE OR INSERT
- 12.5. DELETE
- 12.6. MERGE
- 12.7. EXECUTE PROCEDURE
- 12.8. EXECUTE BLOCK
- 12.9. SET OPTIMIZE
- 12.1. SELECT
- 13. Генераторы (
GENERATOR/SEQUENCE) - 14. BLOB фильтр (
FILTER) - 15. Индексы (
INDEX) - 16. Представления (
VIEW)- 16.1. Создание представлений
- 16.2. Изменение представлений
- 16.3. Создание или изменение представлений
- 16.4. Удаление представлений
- 16.5. Пересоздание представлений
- 16.6. Примеры представлений
- 16.7. Преобразование неизменяемых представлений в изменяемые при помощи триггеров
- 16.8. Системные представления
- 16.9. Примечание представления
- 17. Исключения (
EXCEPTION) - 18. Процедурный язык PSQL
- 18.1. Элементы PSQL
- 18.2. PSQL блоки
- 18.3. Написание кода тела модуля
- 18.4. Объявление и реализация подпроцедуры
- 18.4.1. Объявление и реализация подфункции
- 18.4.2. Определение составного оператора
- 18.4.3. Оператор IF-THEN-ELSE
- 18.4.4. Оператор WHILE-DO
- 18.4.5. BREAK
- 18.4.6. LEAVE
- 18.4.7. CONTINUE
- 18.4.8. EXIT
- 18.4.9. SUSPEND
- 18.4.10. EXECUTE STATEMENT
- 18.4.11. Пул внешних подключений
- 18.4.12. FOR SELECT-DO
- 18.4.13. FOR EXECUTE STATEMENT
- 18.4.14. OPEN
- 18.4.15. FETCH
- 18.4.16. CLOSE
- 18.4.17. IN AUTONOMOUS TRANSACTION
- 18.4.18. Отправка событий базы данных
- 18.4.19. RETURN
- 18.5. Обработка ошибок
- 19. Хранимые процедуры (
PROCEDURE)- 19.1. Создание хранимой процедуры
- 19.2. Изменение хранимой процедуры
- 19.3. Создание новой или изменение существующей хранимой процедуры
- 19.4. Удаление хранимой процедуры
- 19.5. Создание новой или пересоздание существующей хранимой процедуры
- 19.6. Примеры хранимых процедур
- 19.7. Объявление подпроцедуры
- 20. Хранимые функции (
FUNCTION)- 20.1. Создание хранимой функции
- 20.2. Изменение хранимой функции
- 20.3. Создание новой или изменение существующей хранимой функции
- 20.4. Удаление хранимой функции
- 20.5. Создание новой или пересоздание существующей хранимой функции
- 20.6. Объявление подфункции
- 21. Триггеры (
TRIGGER)- 21.1. Создание триггера
- 21.2. Изменение триггера
- 21.3. Создание нового или изменение существующего триггера
- 21.4. Удаление триггера
- 21.5. Создание нового или пересоздание существующего триггера
- 21.6. Примеры триггеров
- 21.6.1. Формирование значения искусственного первичного ключа
- 21.6.2. Передача сообщений клиентским процессам об изменении данных
- 21.6.3. Пример триггера, обеспечивающего поддержание ссылочной целостности данных
- 21.6.4. Пример триггера, создающего запись истории окладов
- 21.6.5. Триггеры, преобразующие неизменяемые представления в изменяемые
- 22. Пакеты (
PACKAGE)- 22.1. Создание заголовка пакета
- 22.2. Изменение заголовка пакета
- 22.3. Создание нового или изменение существующего заголовка пакета
- 22.4. Удаление заголовка пакета
- 22.5. Создание нового или пересоздание существующего заголовка объекта
- 22.6. Создание тела пакета
- 22.7. Удаление тела пакета
- 22.8. Создание нового или пересоздание существующего тела объекта
- 23. Сортировка (
COLLATION) - 24. Планировщик заданий
- 25. Внешние хранимые процедуры, функции и триггеры, написанные на языке Java
- 26. Полнотекстовый поиск
- 26.1. Миграция полнотекстового поиска с версии 3 на 5
- 26.2. Настройка сервера для работы полнотекстового поиска
- 26.3. Служебные объекты для полнотекстового поиска
- 26.4. Пример использования полнотекстового поиска
- 26.5. Синтаксис поисковых запросов
- 27. Операторы обеспечения безопасности
- 27.1. Операторы управления пользователями
- 27.2. Операторы управления ролями
- 27.3. Операторы отображения объектов безопасности
- 27.4. Операторы управления политиками
- 27.5. Операторы управления привилегиями
- 27.5.1. GRANT
- 27.5.1.1. Предложение TO
- 27.5.1.2. WITH GRANT OPTION
- 27.5.1.3. Предложение GRANTED BY
- 27.5.1.4. Привилегии для таблиц и представлений
- 27.5.1.5. Привилегии EXECUTE
- 27.5.1.6. Привилегии USAGE
- 27.5.1.7. Привилегии на выполнение DDL операций
- 27.5.1.8. DDL привилегии на базу данных
- 27.5.1.9. Назначение ролей
- 27.5.1.10. Назначение политик
- 27.5.1.11. Выдача прав системным привилегиям
- 27.5.2. REVOKE
- 27.5.1. GRANT
- 28. Сессионное окружение
- 29. Зарезервированные и ключевые слова
- 30. Коды ошибок РЕД База Данных
- 31. Описание системных таблиц
- 31.1. RDB$AUTH_MAPPING
- 31.2. RDB$BACKUP_HISTORY
- 31.3. RDB$CHARACTER_SETS
- 31.4. RDB$CHECK_CONSTRAINTS
- 31.5. RDB$COLLATIONS
- 31.6. RDB$CONFIG
- 31.7. RDB$CONSTANTS
- 31.8. RDB$DATABASE
- 31.9. RDB$DB_CREATORS
- 31.10. RDB$DEPENDENCIES
- 31.11. RDB$EXCEPTIONS
- 31.12. RDB$FIELDS
- 31.13. RDB$FIELD_DIMENSIONS
- 31.14. RDB$FILES
- 31.15. RDB$FILTERS
- 31.16. RDB$FORMATS
- 31.17. RDB$FUNCTIONS
- 31.18. RDB$FUNCTION_ARGUMENTS
- 31.19. RDB$GENERATORS
- 31.20. RDB$INDEX_SEGMENTS
- 31.21. RDB$INDICES
- 31.22. RDB$JOBS
- 31.23. RDB$JOBS_LOG
- 31.24. RDB$KEYWORDS
- 31.25. RDB$LOG_FILES
- 31.26. RDB$PACKAGES
- 31.27. RDB$PAGES
- 31.28. RDB$PROCEDURE_PARAMETERS
- 31.29. RDB$PROCEDURES
- 31.30. RDB$REF_CONSTRAINTS
- 31.31. RDB$RELATION_CONSTRAINTS
- 31.32. RDB$RELATION_FIELDS
- 31.33. RDB$RELATIONS
- 31.34. RDB$ROLES
- 31.35. RDB$SECURITY_CLASSES
- 31.36. RDB$TABLESPACES
- 31.37. RDB$TIME_ZONES
- 31.38. RDB$TRANSACTIONS
- 31.39. RDB$TRIGGER_MESSAGES
- 31.40. RDB$TRIGGERS
- 31.41. RDB$TYPES
- 31.42. RDB$PUBLICATIONS
- 31.43. RDB$PUBLICATION_TABLES
- 31.44. RDB$USER_PRIVILEGES
- 31.45. RDB$VIEW_RELATIONS
- 31.46. Поле RDB$VALID_BLR
- 32. Системные пакеты
- 33. Наборы символов и порядки сортировки
- 34. Функции, определенные пользователем (UDF)
- 35. Операторы SQL
- 35.1. ALTER CHARACTER SET
- 35.2. ALTER DATABASE
- 35.3. ALTER DOMAIN
- 35.4. ALTER EXCEPTION
- 35.5. ALTER EXTERNAL CONNECTIONS POOL CLEAR ALL
- 35.6. ALTER EXTERNAL CONNECTIONS POOL CLEAR OLDEST
- 35.7. ALTER EXTERNAL CONNECTIONS POOL SET LIFETIME
- 35.8. ALTER EXTERNAL CONNECTIONS POOL SET SIZE
- 35.9. ALTER EXTERNAL FUNCTION
- 35.10. ALTER FUNCTION
- 35.11. ALTER INDEX
- 35.12. ALTER JOB
- 35.13. ALTER MAPPING
- 35.14. ALTER PACKAGE
- 35.15. ALTER POLICY
- 35.16. ALTER PROCEDURE
- 35.17. ALTER ROLE
- 35.18. ALTER SEQUENCE
- 35.19. ALTER SESSION RESET
- 35.20. ALTER TABLE
- 35.21. ALTER TABLESPACE
- 35.22. ALTER TRIGGER
- 35.23. ALTER USER
- 35.24. ALTER VIEW
- 35.25. CALL
- 35.26. COMMENT
- 35.27. COMMIT
- 35.28. CONNECT
- 35.29. CREATE COLLATION
- 35.30. CREATE DATABASE
- 35.31. CREATE DOMAIN
- 35.32. CREATE EXCEPTION
- 35.33. CREATE FUNCTION
- 35.34. CREATE GENERATOR
- 35.35. CREATE GLOBAL TEMPORARY TABLE
- 35.36. CREATE INDEX
- 35.37. CREATE JOB
- 35.38. CREATE MAPPING
- 35.39. CREATE OR ALTER EXCEPTION
- 35.40. CREATE OR ALTER FUNCTION
- 35.41. CREATE OR ALTER MAPPING
- 35.42. CREATE OR ALTER PACKAGE
- 35.43. CREATE OR ALTER PROCEDURE
- 35.44. CREATE OR ALTER SEQUENCE
- 35.45. CREATE OR ALTER TRIGGER
- 35.46. CREATE OR ALTER USER
- 35.47. CREATE OR ALTER VIEW
- 35.48. CREATE PACKAGE
- 35.49. CREATE PACKAGE BODY
- 35.50. CREATE POLICY
- 35.51. CREATE PROCEDURE
- 35.52. CREATE ROLE
- 35.53. CREATE SEQUENCE
- 35.54. CREATE SHADOW
- 35.55. CREATE TABLE
- 35.56. CREATE TABLESPACE
- 35.57. CREATE TRIGGER
- 35.58. CREATE USER
- 35.59. CREATE VIEW
- 35.60. DECLARE EXTERNAL FUNCTION
- 35.61. DECLARE FILTER
- 35.62. DELETE
- 35.63. DROP COLLATION
- 35.64. DROP DATABASE
- 35.65. DROP DOMAIN
- 35.66. DROP EXCEPTION
- 35.67. DROP EXTERNAL FUNCTION
- 35.68. DROP FILTER
- 35.69. DROP FUNCTION
- 35.70. DROP GENERATOR
- 35.71. DROP INDEX
- 35.72. DROP JOB
- 35.73. DROP MAPPING
- 35.74. DROP PACKAGE
- 35.75. DROP PACKAGE BODY
- 35.76. DROP POLICY
- 35.77. DROP PROCEDURE
- 35.78. DROP ROLE
- 35.79. DROP SEQUENCE
- 35.80. DROP SHADOW
- 35.81. DROP TABLE
- 35.82. DROP TABLESPACE
- 35.83. DROP TRIGGER
- 35.84. DROP USER
- 35.85. DROP VIEW
- 35.86. EXECUTE BLOCK
- 35.87. EXECUTE PROCEDURE
- 35.88. GRANT
- 35.89. INSERT
- 35.90. MERGE
- 35.91. RECREATE EXCEPTION
- 35.92. RECREATE FUNCTION
- 35.93. RECREATE PACKAGE
- 35.94. RECREATE PACKAGE BODY
- 35.95. RECREATE PROCEDURE
- 35.96. RECREATE SEQUENCE
- 35.97. RECREATE TABLE
- 35.98. RECREATE TRIGGER
- 35.99. RECREATE USER
- 35.100. RECREATE VIEW
- 35.101. RELEASE SAVEPOINT
- 35.102. REVOKE
- 35.103. ROLLBACK
- 35.104. SAVEPOINT
- 35.105. SELECT
- 35.106. SET BIND
- 35.107. SET DECFLOAT BIND
- 35.108. SET DECFLOAT ROUND
- 35.109. SET DECFLOAT TRAPS TO
- 35.110. SET GENERATOR
- 35.111. SET NAMES
- 35.112. SET ROLE
- 35.113. SET SESSION IDLE TIMEOUT
- 35.114. SET SQL DIALECT
- 35.115. SET STATEMENT TIMEOUT
- 35.116. SET STATISTICS
- 35.117. SET TIME ZONE
- 35.118. SET TIME ZONE BIND
- 35.119. SET TRANSACTION
- 35.120. SET TRUSTED ROLE
- 35.121. SIMILAR TO
- 35.122. SUSPEND
- 35.123. UPDATE
- 35.124. UPDATE OR INSERT
- 36. Встроенные функции
- 36.1. Скалярные функции
- 36.1.1. Функции для работы с контекстными переменными
- 36.1.2. Функции для работы с файлами
- 36.1.3. Функции подсистемы безопасности
- 36.1.4. RDB$TRACE_MSG
- 36.1.5. Функции для обработки ошибок
- 36.1.6. Функции работы с транзакциями
- 36.1.7. Математические функции
- 36.1.7.1. ABS
- 36.1.7.2. ACOS
- 36.1.7.3. ACOSH
- 36.1.7.4. ASIN
- 36.1.7.5. ASINH
- 36.1.7.6. ATAN
- 36.1.7.7. ATAN2
- 36.1.7.8. ATANH
- 36.1.7.9. CEIL|CEILING
- 36.1.7.10. COS
- 36.1.7.11. COSH
- 36.1.7.12. COT
- 36.1.7.13. EXP
- 36.1.7.14. FLOOR
- 36.1.7.15. LN
- 36.1.7.16. LOG
- 36.1.7.17. LOG10
- 36.1.7.18. MOD
- 36.1.7.19. PI
- 36.1.7.20. POWER
- 36.1.7.21. RAND
- 36.1.7.22. ROUND
- 36.1.7.23. SIGN
- 36.1.7.24. SIN
- 36.1.7.25. SINH
- 36.1.7.26. SQRT
- 36.1.7.27. TAN
- 36.1.7.28. TANH
- 36.1.7.29. TRUNC
- 36.1.8. Функции для работы со строками
- 36.1.8.1. ASCII_CHAR
- 36.1.8.2. ASCII_VAL
- 36.1.8.3. BIT_LENGTH
- 36.1.8.4. CHARACTER_LENGTH
- 36.1.8.5. DAMLEV
- 36.1.8.6. LEFT
- 36.1.8.7. LOWER
- 36.1.8.8. LPAD
- 36.1.8.9. OCTET_LENGTH
- 36.1.8.10. OVERLAY
- 36.1.8.11. POSITION
- 36.1.8.12. REGEXP_SUBSTR
- 36.1.8.13. REPLACE
- 36.1.8.14. REVERSE
- 36.1.8.15. RIGHT
- 36.1.8.16. RPAD
- 36.1.8.17. SUBSTRING
- 36.1.8.18. Позиционный SUBSTRING
- 36.1.8.19. SUBSTRING по регулярному выражению
- 36.1.8.20. TRIM
- 36.1.8.21. UPPER
- 36.1.8.22. UNICODE_CHAR
- 36.1.8.23. UNICODE_VAL
- 36.1.9. Функции для работы с датой и временем
- 36.1.10. Функции для работы с типом DECFLOAT
- 36.1.11. Кодирование и декодирование бинарных данных
- 36.1.12. Хэш функции
- 36.1.13. Криптографические функции
- 36.1.14. Функции преобразования типов
- 36.1.15. Функции побитовых операций
- 36.1.16. Функции для работы с UUID
- 36.1.17. Функции для работы с генераторами
- 36.1.18. Условные функции
- 36.1.19. Функции мониторинга ЦП
- 36.1.20. Функции для работы с LDAP
- 36.2. Агрегатные функции
- 36.3. Статистические функции
- 36.4. Функции линейной регрессии
- 36.5. Оконные функции
- 36.6. Табличные функции
- 36.1. Скалярные функции
- 37. Контекстные переменные
- 37.1. CURRENT_CONNECTION
- 37.2. CURRENT_DATE
- 37.3. CURRENT_ROLE
- 37.4. CURRENT_TIME
- 37.5. CURRENT_TIMESTAMP
- 37.6. CURRENT_TRANSACTION
- 37.7. CURRENT_USER
- 37.8. DECFLOAT_ROUND
- 37.9. DECFLOAT_TRAPS
- 37.10. INSERTING, UPDATING и DELETING
- 37.11. LOCALTIME
- 37.12. LOCALTIMESTAMP
- 37.13. NEW
- 37.14. NOW
- 37.15. OLD
- 37.16. ROW_COUNT
- 37.17. REPLICATION_STATUS_JSON
- 37.18. SQLCODE, GDSCODE
- 37.19. SQLSTATE
- 37.20. TODAY
- 37.21. TOMORROW
- 37.22. USER
- 37.23. YESTERDAY
- 38. Операторы языка хранимых процедур, функций и триггеров
- 38.1. BREAK
- 38.2. CLOSE
- 38.3. CONTINUE
- 38.4. DECLARE CURSOR
- 38.5. DECLARE FUNCTION
- 38.6. DECLARE PROCEDURE
- 38.7. DECLARE VARIABLE
- 38.8. EXCEPTION
- 38.9. EXIT
- 38.10. FETCH
- 38.11. FOR EXECUTE STATEMENT
- 38.12. FOR SELECT-DO
- 38.13. IF-THEN-ELSE
- 38.14. LEAVE
- 38.15. OPEN
- 38.16. POST_EVENT
- 38.17. SUSPEND
- 38.18. WHEN-DO
- 38.19. WHILE-DO
- 39. Список региональных часовых поясов