Руководство по 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. Сессионное окружение
Приложения:
- А. Описание таблиц мониторинга
- А.1. MON$ATTACHMENTS
- А.2. MON$REPLICATION
- А.3. MON$CALL_STACK
- А.4. MON$CONTEXT_VARIABLES
- А.5. MON$DATABASE
- А.6. MON$IO_STATS
- А.7. MON$MEMORY_USAGE
- А.8. MON$RECORD_STATS
- А.9. MON$STATEMENTS
- А.10. MON$STATEMENT_PARAMETERS
- А.11. MON$TABLE_STATS
- А.12. MON$TEMP_SPACES
- А.13. MON$TEMP_FILES
- А.14. MON$TRANSACTIONS
- А.15. MON$COMPILED_STATEMENTS
- Б. Описание системных таблиц
- Б.1. RDB$AUTH_MAPPING
- Б.2. RDB$BACKUP_HISTORY
- Б.3. RDB$CHARACTER_SETS
- Б.4. RDB$CHECK_CONSTRAINTS
- Б.5. RDB$COLLATIONS
- Б.6. RDB$CONFIG
- Б.7. RDB$CONSTANTS
- Б.8. RDB$DATABASE
- Б.9. RDB$DB_CREATORS
- Б.10. RDB$DEPENDENCIES
- Б.11. RDB$EXCEPTIONS
- Б.12. RDB$FIELDS
- Б.13. RDB$FIELD_DIMENSIONS
- Б.14. RDB$FILES
- Б.15. RDB$FILTERS
- Б.16. RDB$FORMATS
- Б.17. RDB$FUNCTIONS
- Б.18. RDB$FUNCTION_ARGUMENTS
- Б.19. RDB$GENERATORS
- Б.20. RDB$INDEX_SEGMENTS
- Б.21. RDB$INDICES
- Б.22. RDB$JOBS
- Б.23. RDB$JOBS_LOG
- Б.24. RDB$KEYWORDS
- Б.25. RDB$LOG_FILES
- Б.26. RDB$PACKAGES
- Б.27. RDB$PAGES
- Б.28. RDB$PROCEDURE_PARAMETERS
- Б.29. RDB$PROCEDURES
- Б.30. RDB$REF_CONSTRAINTS
- Б.31. RDB$RELATION_CONSTRAINTS
- Б.32. RDB$RELATION_FIELDS
- Б.33. RDB$RELATIONS
- Б.34. RDB$ROLES
- Б.35. RDB$SECURITY_CLASSES
- Б.36. RDB$TABLESPACES
- Б.37. RDB$TIME_ZONES
- Б.38. RDB$TRANSACTIONS
- Б.39. RDB$TRIGGER_MESSAGES
- Б.40. RDB$TRIGGERS
- Б.41. RDB$TYPES
- Б.42. RDB$PUBLICATIONS
- Б.43. RDB$PUBLICATION_TABLES
- Б.44. RDB$USER_PRIVILEGES
- Б.45. RDB$VIEW_RELATIONS
- Б.46. Поле RDB$VALID_BLR
- В. Зарезервированные и ключевые слова
- Г. Коды ошибок РЕД База Данных
- Д. Системные пакеты
- Е. PSQL-профайлер
- Е.1. Общие сведения
- Е.2. Функция START_SESSION
- Е.3. Процедура PAUSE_SESSION
- Е.4. Процедура RESUME_SESSION
- Е.5. Процедура FINISH_SESSION
- Е.6. Процедура CANCEL_SESSION
- Е.7. Процедура DISCARD
- Е.8. Процедура FLUSH
- Е.9. Процедура SET_FLUSH_INTERVAL
- Е.10. Таблицы снапшотов
- Е.11. Дополнительные представления
- Ж. Наборы символов и порядки сортировки
- З. Функции, определенные пользователем (UDF)
- И. Операторы SQL
- И.1. ALTER CHARACTER SET
- И.2. ALTER DATABASE
- И.3. ALTER DOMAIN
- И.4. ALTER EXCEPTION
- И.5. ALTER EXTERNAL CONNECTIONS POOL CLEAR ALL
- И.6. ALTER EXTERNAL CONNECTIONS POOL CLEAR OLDEST
- И.7. ALTER EXTERNAL CONNECTIONS POOL SET LIFETIME
- И.8. ALTER EXTERNAL CONNECTIONS POOL SET SIZE
- И.9. ALTER EXTERNAL FUNCTION
- И.10. ALTER FUNCTION
- И.11. ALTER INDEX
- И.12. ALTER JOB
- И.13. ALTER MAPPING
- И.14. ALTER PACKAGE
- И.15. ALTER POLICY
- И.16. ALTER PROCEDURE
- И.17. ALTER ROLE
- И.18. ALTER SEQUENCE
- И.19. ALTER SESSION RESET
- И.20. ALTER TABLE
- И.21. ALTER TABLESPACE
- И.22. ALTER TRIGGER
- И.23. ALTER USER
- И.24. ALTER VIEW
- И.25. CALL
- И.26. COMMENT
- И.27. COMMIT
- И.28. CONNECT
- И.29. CREATE COLLATION
- И.30. CREATE DATABASE
- И.31. CREATE DOMAIN
- И.32. CREATE EXCEPTION
- И.33. CREATE FUNCTION
- И.34. CREATE GENERATOR
- И.35. CREATE GLOBAL TEMPORARY TABLE
- И.36. CREATE INDEX
- И.37. CREATE JOB
- И.38. CREATE MAPPING
- И.39. CREATE OR ALTER EXCEPTION
- И.40. CREATE OR ALTER FUNCTION
- И.41. CREATE OR ALTER MAPPING
- И.42. CREATE OR ALTER PACKAGE
- И.43. CREATE OR ALTER PROCEDURE
- И.44. CREATE OR ALTER SEQUENCE
- И.45. CREATE OR ALTER TRIGGER
- И.46. CREATE OR ALTER USER
- И.47. CREATE OR ALTER VIEW
- И.48. CREATE PACKAGE
- И.49. CREATE PACKAGE BODY
- И.50. CREATE POLICY
- И.51. CREATE PROCEDURE
- И.52. CREATE ROLE
- И.53. CREATE SEQUENCE
- И.54. CREATE SHADOW
- И.55. CREATE TABLE
- И.56. CREATE TABLESPACE
- И.57. CREATE TRIGGER
- И.58. CREATE USER
- И.59. CREATE VIEW
- И.60. DECLARE EXTERNAL FUNCTION
- И.61. DECLARE FILTER
- И.62. DELETE
- И.63. DROP COLLATION
- И.64. DROP DATABASE
- И.65. DROP DOMAIN
- И.66. DROP EXCEPTION
- И.67. DROP EXTERNAL FUNCTION
- И.68. DROP FILTER
- И.69. DROP FUNCTION
- И.70. DROP GENERATOR
- И.71. DROP INDEX
- И.72. DROP JOB
- И.73. DROP MAPPING
- И.74. DROP PACKAGE
- И.75. DROP PACKAGE BODY
- И.76. DROP POLICY
- И.77. DROP PROCEDURE
- И.78. DROP ROLE
- И.79. DROP SEQUENCE
- И.80. DROP SHADOW
- И.81. DROP TABLE
- И.82. DROP TABLESPACE
- И.83. DROP TRIGGER
- И.84. DROP USER
- И.85. DROP VIEW
- И.86. EXECUTE BLOCK
- И.87. EXECUTE PROCEDURE
- И.88. GRANT
- И.89. INSERT
- И.90. MERGE
- И.91. RECREATE EXCEPTION
- И.92. RECREATE FUNCTION
- И.93. RECREATE PACKAGE
- И.94. RECREATE PACKAGE BODY
- И.95. RECREATE PROCEDURE
- И.96. RECREATE SEQUENCE
- И.97. RECREATE TABLE
- И.98. RECREATE TRIGGER
- И.99. RECREATE USER
- И.100. RECREATE VIEW
- И.101. RELEASE SAVEPOINT
- И.102. REVOKE
- И.103. ROLLBACK
- И.104. SAVEPOINT
- И.105. SELECT
- И.106. SET BIND
- И.107. SET DECFLOAT BIND
- И.108. SET DECFLOAT ROUND
- И.109. SET DECFLOAT TRAPS TO
- И.110. SET GENERATOR
- И.111. SET NAMES
- И.112. SET ROLE
- И.113. SET SESSION IDLE TIMEOUT
- И.114. SET SQL DIALECT
- И.115. SET STATEMENT TIMEOUT
- И.116. SET STATISTICS
- И.117. SET TIME ZONE
- И.118. SET TIME ZONE BIND
- И.119. SET TRANSACTION
- И.120. SET TRUSTED ROLE
- И.121. SIMILAR TO
- И.122. SUSPEND
- И.123. UPDATE
- И.124. UPDATE OR INSERT
- К. Встроенные функции
- К.1. Скалярные функции
- К.1.1. Функции для работы с контекстными переменными
- К.1.2. Функции для работы с файлами
- К.1.3. Функции подсистемы безопасности
- К.1.4. RDB$TRACE_MSG
- К.1.5. Функции для обработки ошибок
- К.1.6. Функции работы с транзакциями
- К.1.7. Математические функции
- К.1.7.1. ABS
- К.1.7.2. ACOS
- К.1.7.3. ACOSH
- К.1.7.4. ASIN
- К.1.7.5. ASINH
- К.1.7.6. ATAN
- К.1.7.7. ATAN2
- К.1.7.8. ATANH
- К.1.7.9. CEIL|CEILING
- К.1.7.10. COS
- К.1.7.11. COSH
- К.1.7.12. COT
- К.1.7.13. EXP
- К.1.7.14. FLOOR
- К.1.7.15. LN
- К.1.7.16. LOG
- К.1.7.17. LOG10
- К.1.7.18. MOD
- К.1.7.19. PI
- К.1.7.20. POWER
- К.1.7.21. RAND
- К.1.7.22. ROUND
- К.1.7.23. SIGN
- К.1.7.24. SIN
- К.1.7.25. SINH
- К.1.7.26. SQRT
- К.1.7.27. TAN
- К.1.7.28. TANH
- К.1.7.29. TRUNC
- К.1.8. Функции для работы со строками
- К.1.8.1. ASCII_CHAR
- К.1.8.2. ASCII_VAL
- К.1.8.3. BIT_LENGTH
- К.1.8.4. CHARACTER_LENGTH
- К.1.8.5. DAMLEV
- К.1.8.6. LEFT
- К.1.8.7. LOWER
- К.1.8.8. LPAD
- К.1.8.9. OCTET_LENGTH
- К.1.8.10. OVERLAY
- К.1.8.11. POSITION
- К.1.8.12. REGEXP_SUBSTR
- К.1.8.13. REPLACE
- К.1.8.14. REVERSE
- К.1.8.15. RIGHT
- К.1.8.16. RPAD
- К.1.8.17. SUBSTRING
- К.1.8.18. Позиционный SUBSTRING
- К.1.8.19. SUBSTRING по регулярному выражению
- К.1.8.20. TRIM
- К.1.8.21. UPPER
- К.1.8.22. UNICODE_CHAR
- К.1.8.23. UNICODE_VAL
- К.1.9. Функции для работы с датой и временем
- К.1.10. Функции для работы с типом DECFLOAT
- К.1.11. Кодирование и декодирование бинарных данных
- К.1.12. Хэш функции
- К.1.13. Криптографические функции
- К.1.14. Функции преобразования типов
- К.1.15. Функции побитовых операций
- К.1.16. Функции для работы с UUID
- К.1.17. Функции для работы с генераторами
- К.1.18. Условные функции
- К.1.19. Функции мониторинга ЦП
- К.1.20. Функции для работы с LDAP
- К.2. Агрегатные функции
- К.3. Статистические функции
- К.4. Функции линейной регрессии
- К.5. Оконные функции
- К.6. Табличные функции
- К.1. Скалярные функции
- Л. Контекстные переменные
- Л.1. CURRENT_CONNECTION
- Л.2. CURRENT_DATE
- Л.3. CURRENT_ROLE
- Л.4. CURRENT_TIME
- Л.5. CURRENT_TIMESTAMP
- Л.6. CURRENT_TRANSACTION
- Л.7. CURRENT_USER
- Л.8. DECFLOAT_ROUND
- Л.9. DECFLOAT_TRAPS
- Л.10. INSERTING, UPDATING и DELETING
- Л.11. LOCALTIME
- Л.12. LOCALTIMESTAMP
- Л.13. NEW
- Л.14. NOW
- Л.15. OLD
- Л.16. ROW_COUNT
- Л.17. REPLICATION_STATUS_JSON
- Л.18. SQLCODE, GDSCODE
- Л.19. SQLSTATE
- Л.20. TODAY
- Л.21. TOMORROW
- Л.22. USER
- Л.23. YESTERDAY
- М. Операторы языка хранимых процедур, функций и триггеров
- М.1. BREAK
- М.2. CLOSE
- М.3. CONTINUE
- М.4. DECLARE CURSOR
- М.5. DECLARE FUNCTION
- М.6. DECLARE PROCEDURE
- М.7. DECLARE VARIABLE
- М.8. EXCEPTION
- М.9. EXIT
- М.10. FETCH
- М.11. FOR EXECUTE STATEMENT
- М.12. FOR SELECT-DO
- М.13. IF-THEN-ELSE
- М.14. LEAVE
- М.15. OPEN
- М.16. POST_EVENT
- М.17. SUSPEND
- М.18. WHEN-DO
- М.19. WHILE-DO
- Н. Список региональных часовых поясов