Исходники
Статьи
Языки программирования
.NET Delphi Visual C++ Borland C++ Builder C/С++ и C# Базы Данных MySQL MSSQL Oracle PostgreSQL Interbase VisualFoxPro Веб-Мастеру PHP HTML Perl Java JavaScript Протоколы AJAX Технология Ajax Освоение Ajax Сети Беспроводные сети Локальные сети Сети хранения данных TCP/IP xDSL ATM Операционные системы Windows Linux Wap Книги и учебники
Скрипты
Магазин программиста
|
Краткий справочник по Oracle7Содержание1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Имена объектов базы данных . . . . . . . . . . . . . . . . . . . . . . . 4 3. Зарезервированные слова Oracle7 и PL/SQL . . . . . . . . . . . . . . . . 4 4. Литералы, операторы и выражения . . . . . . . . . . . . . . . . . . . . . 5 4.1. Условные обозначения . . . . . . . . . . . . . . . . . . . . . . . . 5 4.2. Иерархия операторов . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.3. Синтаксис выражений (expr) . . . . . . . . . . . . . . . . . . . . . 6 4.4. Синтаксис условий (condition) . . . . . . . . . . . . . . . . . . . . 6 4.5. Логические операторы . . . . . . . . . . . . . . . . . . . . . . . . 7 4.6. Операторы, используемые в предложении SELECT . . . . . . . . . . . . 7 5. Типы данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 6. Комментарии . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 7. Функции SQL и ORACLE7 . . . . . . . . . . . . . . . . . . . . . . . . . . 8 7.1. Числовые функции . . . . . . . . . . . . . . . . . . . . . . . . . . 9 7.2. Символьные функции . . . . . . . . . . . . . . . . . . . . . . . . . 9 7.3. Функции работы с датами и временем . . . . . . . . . . . . . . . . . 10 7.4. Функции преобразования . . . . . . . . . . . . . . . . . . . . . . . 11 7.5. Групповые функции . . . . . . . . . . . . . . . . . . . . . . . . . . 12 7.6. Прочие функции . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 8. Форматы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 8.1. Числовые форматы . . . . . . . . . . . . . . . . . . . . . . . . . . 13 8.2. Символьные форматы . . . . . . . . . . . . . . . . . . . . . . . . . 13 8.3. Форматы дат и времени . . . . . . . . . . . . . . . . . . . . . . . . 13 8.4. Префиксы и суффиксы, используемые в форматах . . . . . . . . . . . . 14 9. Псевдо- столбцы и таблицы . . . . . . . . . . . . . . . . . . . . . . . . 14 10. Предложения (команды) SQL Oracle7 . . . . . . . . . . . . . . . . . . . . 16 ALTER CLUSTER - модифицирует структуру индексированного или хешированного кластера . . . . . . . . . . . . . . . . . . . . . 16 ALTER DATABASE - модифицирует структуру и (или) рабочий режим базы данных Oracle7; позволяет восстановить базу данных . . . . . . . 16 ALTER FUNCTION - принудительно перекомпилирует функцию . . . . . . . . . 16 ALTER INDEX - модифицирует параметры хранения индекса . . . . . . . . . . 16 ALTER PACKAGE - принудительно перекомпилирует пакет . . . . . . . . . . . 16 ALTER PROCEDURE - принудительно перекомпилирует процедуру . . . . . . . . 16 ALTER PROFILE - модифицирует профиль ограничений ресурсов . . . . . . . . 17 ALTER RESOURCE COST - модифицирует веса ограничений сложного ресурса. . . 17 ALTER ROLE - изменяет пароль роли или метод аутентификации. . . . . . . . 17 ALTER ROLLBACK SEGMENT - изменяет доступность или параметры памяти сегмента отката . . . . . . . . . . . . . . . . . . . . . . . . . 17 ALTER SEQUENCE - изменяет характеристики последовательности . . . . . . . 17 ALTER SESSION - модифицирует параметры сеанса базы данных . . . . . . . . 17 ALTER SNAPSHOT - модифицирует режим и (или) время получения "снимка" базы данных или характеристики хранения . . . . . . . . . . . . . 17 ALTER SNAPSHOT LOG - модифицирует характеристики памяти для "снимка". . . 18 ALTER SYSTEM - динамически модифицирует некоторые текущие параметры сервера базы данных . . . . . . . . . . . . . . . . . . . . . . . 18 ALTER TABLE - модифицирует физическую структуру таблицы, параметры памяти и ограничения целостности . . . . . . . . . . . . . . . . 18 ALTER TABLESPACE - изменяет доступность табличной области, режим архивации или параметры памяти, либо добавляет файлы данных для увеличения емкости памяти табличной области . . . . . . . . . 18 ALTER TRIGGER - разрешает или запрещает запуск триггера . . . . . . . . . 18 ALTER USER - модифицирует учетные данные пользователя, пароль или метод аутентификации . . . . . . . . . . . . . . . . . . . . . . 19 ALTER VIEW - вручную перекомпилирует представление . . . . . . . . . . . 19 ANALYZE - генерирует статистику оптимизатора либо создает для таблицы, индекса или кластера список цепочки строк; может проверять допустимость структуры индекса . . . . . . . . . . . . . . . . . 19 - 2 - AUDIT - задает для системы и объектов базы данных параметры отслеживания 19 COMMENT - создает описание таблицы, представления, "снимка" или столбца . 19 COMMIT - завершает транзакцию, фиксируя изменения в базе данных . . . . . 19 CREATE CLUSTER - создает индексированный или хешированный кластер . . . . 19 CREATE CONTROLFILE - создает новый управляющий файл базы данных, 19 заменяющий испорченный управляющий файл или управляющий файл с неверным размером . . . . . . . . . . . . . . . . . . . . 20 CREATE DATABASE - создает базу данных . . . . . . . . . . . . . . . . . . 20 CREATE DATABASE LINK - определяет имя маршрута для удаленной базы данных; связь с такой базой данных доступна и без Distributed Database, но только для операций чтения . . . . . . . . . . . . . 20 CREATE FUNCTION - создает хранимую функцию . . . . . . . . . . . . . . . 20 CREATE INDEX - создает индекс базы данных . . . . . . . . . . . . . . . . 20 CREATE PACKAGE - создает спецификацию хранимого пакета . . . . . . . . . 20 CREATE PACKAGE BODY - создает тело хранимого пакета . . . . . . . . . . . 20 CREATE PROCEDURE - создает хранимую процедуру . . . . . . . . . . . . . . 20 CREATE PROFILE - создает именованный профиль ограничения ресурса . . . . 20 CREATE ROLE - создает роль для группы связных полномочий . . . . . . . . 20 CREATE ROLLBACK SEGMENT - создает сегмент отката. . . . . . . . . . . . . 20 CREATE SCHEMA - создает в одном операторе несколько таблиц и представлений для текущей учетной записи базы данных . . . . . . 21 CREATE SEQUENCE - создает именованную последовательность чисел . . . . . 21 CREATE SNAPSHOT - создает "снимок" удаленной базы данных. . . . . . . . . 21 CREATE SNAPSHOT LOG - создает для "снимка" обновленный журнал . . . . . . 21 CREATE SYNONYM - создает синоним для объекта базы данных. . . . . . . . . 21 CREATE TABLE - создает новую таблицу базы данных. . . . . . . . . . . . . 21 CREATE TABLESPACE - создает новую табличную область . . . . . . . . . . . 21 CREATE TRIGGER - создает для таблицы триггер базы данных. . . . . . . . . 21 CREATE USER - создает нового пользователя и пароль . . . . . . . . . . . 22 CREATE VIEW - создает представление для таблиц или других представлений . . . . . . . . . . . . . . . . . . . . . . . . . . 22 DELETE - удаляет из таблицы базы данных одну или более строк . . . . . . 22 DROP CLUSTER - удаляет индексированный или хешированный кластер . . . . . 22 DROP DATABASE LINK - удаляет именованный маршрут к удаленной базе данных 22 DROP FUNCTION - удаляет хранимую функцию . . . . . . . . . . . . . . . . 22 DROP INDEX - удаляет индекс таблицы . . . . . . . . . . . . . . . . . . . 22 DROP PACKAGE - удаляет спецификацию и тело хранимого пакета . . . . . . . 22 DROP PACKAGE BODY - удаляет тело хранимого пакета . . . . . . . . . . . . 22 DROP PROCEDURE - удаляет хранимую процедуру . . . . . . . . . . . . . . . 22 DROP PROFILE - удаляет именованный профиль ограничений ресурсов . . . . . 22 DROP ROLE - удаляет роль или группу полномочий . . . . . . . . . . . . . 22 DROP ROLLBACK SEGMENT - удаляет сегмент отката . . . . . . . . . . . . . 22 DROP SEQUENCE - удаляет именованную последовательность чисел . . . . . . 22 DROP SNAPSHOT - удаляет "снимок" удаленной базы данных . . . . . . . . . 22 DROP SNAPSHOT LOG - удаляет удаляет журнал снимка . . . . . . . . . . . . 22 DROP SYNONYM - удаляет синоним таблицы или представления . . . . . . . . 22 DROP TABLE - удаляет таблицу базы данных . . . . . . . . . . . . . . . . 22 DROP TABLESPACE - удаляет табличную область . . . . . . . . . . . . . . . 22 DROP TRIGGER - удаляет триггер базы данных . . . . . . . . . . . . . . . 22 DROP USER - удаляет имя пользователя и связанные с ним объекты . . . . . 22 DROP VIEW - удаляет представление . . . . . . . . . . . . . . . . . . . . 22 EXPLAIN PLAN - помещает в таблицу базы данных стратегию оптимизации для оператора SQL . . . . . . . . . . . . . . . . . . . . . . . . 22 GRANT - назначает для ролей и (или) пользователей роли, системные полномочия и (или) полномочия на объекты . . . . . . . . . . . . 22 INSERT - вставляет в таблицу базы данных одну или более строк . . . . . . 22 LOCK TABLE - блокирует таблицу . . . . . . . . . . . . . . . . . . . . . 23 NOAUDIT - запрещает для системных объектов и объектов базы данных параметры отслеживания . . . . . . . . . . . . . . . . . . . . . 23 - 3 - RENAME - переименовывает таблицу, представление, последовательность или синоним . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 REVOKE - отменяет для ролей и (или) пользователей назначений ролей, системные полномочия и (или) полномочия на объекты . . . . . . . 23 ROLLBACK - отменяет изменения, внесенные текущей транзакцией . . . . . . 23 SAVEPOINT - идентифицирует промежуточную точку сохранения транзакции . . 23 SELECT - считывает все или конкретные столбцы из одной или более строк одной или нескольких таблиц и (или) представлений . . . . . 23 SET ROLE - разрешает одну или более заданных ролей и запрещает все другие 24 SET TRANSACTION - задает характеристики транзакции . . . . . . . . . . . 24 TRUNCATE - удаляет все строки из таблицы и (необязательно) всю выделенную для таблиц память на диске . . . . . . . . . . . . . . 24 UPDATE - обновляет все или конкретные строки таблицы . . . . . . . . . . 24 11. Фразы предложений (команд) SQL Oracle7 . . . . . . . . . . . . . . . . . 24 ARCHIVE LOG - устанавливает способ архивирования групп файлов регистрации 24 CONSTRAINT - определяет ограничения целостности таблиц . . . . . . . . . 24 DISABLE - маскирует ограничения целостности или все триггеры . . . . . . 25 DROP - удаляет ограничения целостности таблицы . . . . . . . . . . . . . 25 ENABLE - отменяет маскирование ограничений целостности или триггеров . . 25 Filespec - спецификация файла базы данных . . . . . . . . . . . . . . . . 25 RECOVER - исполняет восстановление средств информации . . . . . . . . . . 25 STORAGE - определяет характеристики хранения кластеров, табличных пространств, таблиц, "снимков", индексов и сегментов отката . . . 25 WHERE - определяет подмножество строк . . . . . . . . . . . . . . . . . . 25 12. Язык PL/SQL - процедурные расширения языка SQL . . . . . . . . . . . . . 26 12.1. Основные конструкции языка PL/SQL . . . . . . . . . . . . . . . . . 26 12.2. Типы данных, переменные, константы и выражения . . . . . . . . . . . 26 12.2.1. Типы данных, доступные в PL/SQL . . . . . . . . . . . . . . . . 26 12.2.2. Таблицы PL/SQL . . . . . . . . . . . . . . . . . . . . . . . . 26 12.2.3. Записи PL/SQL . . . . . . . . . . . . . . . . . . . . . . . . . 27 12.2.4. Переменные, константы и выражения . . . . . . . . . . . . . . . 28 12.3. Присваивание переменным значений из таблиц базы данных . . . . . . . 28 12.3.1. Явный курсор . . . . . . . . . . . . . . . . . . . . . . . . . 29 12.3.1.1. Объявление курсора . . . . . . . . . . . . . . . . . . . . 29 12.3.1.2. Открытие курсора (OPEN) . . . . . . . . . . . . . . . . . 30 12.3.1.3. Выборка строк из курсора (FETCH) . . . . . . . . . . . . . 30 12.3.1.4. Закрытие курсора (CLOSE) . . . . . . . . . . . . . . . . . 32 12.3.1.5. Использование курсора в цикле FOR . . . . . . . . . . . . 32 12.3.1.6. Атрибуты явного курсора . . . . . . . . . . . . . . . . . 32 12.3.1.7. Изменение или удаление текущей строки курсора . . . . . . 33 12.3.2. Неявный курсор (SQL курсор) . . . . . . . . . . . . . . . . . . 34 12.3.2.1. SELECT ... INTO . . . . . . . . . . . . . . . . . . . . . 34 12.3.2.2. INSERT, UPDATE и DELETE . . . . . . . . . . . . . . . . . 34 12.3.2.3. Атрибуты неявного курсора (SQL курсора) . . . . . . . . . 34 12.4. Операторы управления выполнением программы . . . . . . . . . . . . . 35 12.4.1. Операторы условного перехода (IF ...) . . . . . . . . . . . . . 35 12.4.2. Метки и оператор безусловного перехода (GOTO) . . . . . . . . . 35 12.4.3. Операторы цикла (LOOP, WHILE...LOOP и FOR...LOOP) . . . . . . . 36 12.4.4. Операторы EXIT, EXIT-WHEN и NULL . . . . . . . . . . . . . . . 38 12.5. Обработка ошибок . . . . . . . . . . . . . . . . . . . . . . . . . . 39 12.5.1. Встроенные исключительные ситуации . . . . . . . . . . . . . . 39 12.5.2. Исключительные ситуации, определяемые пользователем . . . . . . 42 12.5.3. Обработчик OTHERS . . . . . . . . . . . . . . . . . . . . . . . 42 12.6. Транзакции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 12.7. О программах PL/SQL . . . . . . . . . . . . . . . . . . . . . . . . 43 12.8. Отладка программ PL/SQL . . . . . . . . . . . . . . . . . . . . . . 43 13. Представления словарей данных . . . . . . . . . . . . . . . . . . . . . . 44 14. Виртуальные представления словаря данных . . . . . . . . . . . . . . . . 47 15. Системные полномочия Oracle7 . . . . . . . . . . . . . . . . . . . . . . 48 16. Полномочия на объекты . . . . . . . . . . . . . . . . . . . . . . . . . . 50 17. Основные понятия и параметры, используемые в справочнике . . . . . . . . 50 - 4 - 1. Введение В справочник включены краткие сведения о языке PL/SQL, синтаксис предложений и некоторых фраз языка SQL (подробно они будут описаны в другом документе), краткие описания конструкций, включаемых в эти языки, а также информация о 2. Имена объектов базы данных Имена объектов базы данных (таблиц, представлений, последовательностей, "снимков", пакетов, процедур и функций) должны содержать не более 30 символов и начинаться с буквы. После начальной буквы имя может любые содержать буквы, цифры и символы "$", "#", и "_", однако полученное сочетание (имя) не может быть зарезервированным словом Oracle (см. п. 3). Если же возникает необходимость использовать в имени любые символы кроме кавычек и (или) составлять его из нескольких слов, то такое имя надо заключить в кавычки (например, "Это имя столбца". Имя базы данных не должно превышать 8 символов. 3. Зарезервированные слова Oracle7 и PL/SQL SQL резервные слова (слова отмеченные * используются также в PL/SQL): ACCESS* DEFAULT* INTEGER OPTION* START* ADD* DELETE* INTERSECT* OR* SUCCESSFUL ALL* DESC* INTO* ORDER* SYNONYM ALTER* DISTINCT* IS* PCTFREE* SYSDATE AND* DROP* LEVEL* PRIOR* TABLE* ANY* ELSE* LIKE* PRIVILEGES THEN* AS* EXCLUSIVE LOCK PUBLIC* TO* ASC* EXISTS* LONG RAW TRIGGER AUDIT FILE MAXEXTENTS RENAME* UID BETWEEN* FLOAT MINUS* RESOURCE* UNION* BY* FOR* MODE REVOKE UNIQUE* CHAR* FROM* MODIFY ROW UPDATE* CHECK* GRANT* NOAUDIT ROWID USER CLUSTER* GROUP* NOCOMPRESS* ROWLABEL VALIDATE COLUMN HAVING* NOT* ROWNUM* VALUES* COMMENT IDENTIFIED* NOWAIT ROWS VARCHAR* COMPRESS* IMMEDIATE NULL* SELECT* VARCHAR2* CONNECT* IN* NUMBER* SESSION VIEW* CREATE* INCREMENT OF* SET* WHENEVER CURRENT* INDEX* OFFLINE SHARE WHERE* DATE* INITIAL ON* SIZE* WITH* DECIMAL INSERT ONLINE SMALLINT - 5 - PL/SQL резервные слова ABORT CREATE GOTO PACKAGE SUM ACCEPT CURRENT GRANT PARTITION TABAUTH ACCESS CURSOR GROUP PCTFREE TABLE ADD DATABASE HAVING PRAGMA TABLES ALL DATA_BASE IDENTIFIED PRIOR TASK ALTER DATE IF PRIVATE TERMINATE AND DBA IN PROCEDURE THEN ANY DEBUGOFF INDEX PUBLIC TO ARRAY DEBUGON INDEXES RAISE TRUE AS DECLARE INDICATOR RANGE TYPE ASC DEFAULT INSERT RECORD UNION ASSERT DEFINITION INTERSECT RELEASE UNIQUE ASSIGN DELAY INTO REM UPDATE AT DELETE IS RENAME USE AUTHORIZA DELTA LEVEL RESOURCE VALUES TION DESC LIKE RETURN VARCHAR AVG DIGITS LIMITED REVERSE VARCHAR2 BEGIN DISPOSE LOOP REVOKE VARIANCE BETWEEN DISTINCT MAX ROLLBACK VIEW BODY DO MIN ROWNUM VIEWS BOOLEAN DROP MINUS ROWTYPE WHEN BY ELSE MOD RUN WHERE CASE ELSIF NEW SAVEPOINT WHILE CHAR END NOCOMPRESS WSCHEMA WITH CHAR_BASE ENTRY NOT SELECT WORK CHECK EXCEPTION NULL SEPARATE XOR CLOSE EXCEP NUMBER SET CLUSTER TION_INIT NUMBER_BASE SIZE CLUSTERS EXISTS OR SPACE COLAUTH EXIT ON SQL COLUMNS FALSE OPEN SQLCODE COMMIT FETCH OPTION SQLERRM COMPRESS FOR OR START CONNECT FORM ORDER STATEMENT CONSTANT FROM OTHERS STDDEV COUNT FUNCTION OUT SUBTYPE CRASH GENERIC 4. Литералы, операторы и выражения 4.1. Условные обозначения [ ] - в эти скобки заключаются необязательные синтаксические единицы { } - конструкция, заключенная в эти скобки, должна рассматриваться как одна синтаксическая единица | - используется для разделения альтернативных синтаксических единиц ... - указывает на то, что непосредственно предшествующая синтаксическая единица может повторяться один или несколько раз text - '[символ | '']...' integer - цифра[цифра]... number - [+|-]{цифра[цифра]...[.][цифра]... |.цифра[цифра]...}[{e|E}[+|-]цифра[цифра]...] expr - любое выражение Expr_list - (expr [, expr] ...) - 6 - 4.2. Иерархия операторов Оператор Описание ----------- ------------------------------------------------ () Подавляет обычные правила старшинства операций. ** NOT Возведение в степень и логическое отрицание. + - Знак, предшествующий числовому выражению. * / Умножение и деление. + - Сложение и вычитание. || Сочленение текстовых выражений и (или) констант. := Присвоение значения переменной пользователя. =, <>, <, >, <=, >=, Операторы сравнения, IS NULL, используемые при LIKE, IN, построении условий BETWEEN AND Логическое "И" OR Логическое "ИЛИ" 4.3. Синтаксис выражений (expr) 1-я форма: { [[schema.]{table | view | snapshot }.] {column | pseudo-column | ROWLABEL} | 'text' | number | sequence.{CURRVAL | NEXTVAL} | NULL } 2-я форма: function_name [( [DISTINCT | ALL] expr [, expr] ... )] 3-я форма: { (expr) | +expr | -expr | PRIOR expr | expr * expr | expr / expr | expr + expr | expr - expr | expr || expr } Decode_expr: DECODE( expr, search, result [, search, result] ... [, default] ) Если значение expr = search, то возвращает значение result, иначе значение default или NULL (при отсутствии default). 4.4. Синтаксис условий (condition) 1-я форма: { expr {= | <> | > | < | >= | <=} {expr | (subquery)} | expr_list {= | <>} (subquery) } 2-я форма: { expr {= | <> | > | < | >= | <=} {ANY | SOME | ALL} {expr_list | (subquery)} | expr_list {= | <>} {ANY | SOME | ALL} ( { expr_list [, expr_list] ... | subquery} ) } 3-я форма: { expr [NOT] IN {expr_list | (subquery)} | expr_list [NOT] IN ( { expr_list [, expr_list]... | subquery} ) } 4-я форма: expr [NOT] BETWEEN expr AND expr 5-я форма: expr IS [NOT] NULL 6-я форма: EXISTS (subquery) 7-я форма: char1 [NOT] LIKE char2 [ESCAPE 'c'] 8-я форма: { ( условие ) | NOT условие | условие AND условие | условие OR условие } - 7 - 4.5. Логические операторы NOT Реверсирование результата логического выражения (условия). NOT | true false null ------|------------------- | false true null AND Логическая операция "И" соединяющая два или несколько условий (логических выражений). В зависимости от истинности (true) или ложности (false) этих условий результат определяется по правилам: AND | true false null ------|-------------------- true | true false null false | false false false null | null false null OR Логическая операция "ИЛИ" соединяющая два или несколько условий (логических выражений). В зависимости от истинности (true) или ложности (false) этих условий результат определяется по правилам: OR | true false null ------|------------------- true | true true true false | true false null null | true null null 4.6. Операторы, используемые в предложении SELECT UNION Объединение двух запросов; результат состоит из неповторяющиеся строк, выданных каждым из объединяемых запросов. UNION ALL Объединение двух запросов; результат состоит из всех строк, выданных каждым из объединяемых запросов. INTERSECT Комбинация двух запросов; результат состоит из строк, которые выданы как первым, так и вторым запросом. MINUS Комбинация двух запросов; результат состоит из строк, которые выданы первым запросом, но не выданы вторым запросом. (+) Оператор внешнего соединения. * Заменяет список имен всех столбцов таблицы или представления. PRIOR Используется в древовидных структурах для указания направления просмотра: от корня до листьев или от листьев до корня. ALL Сохраняет дубликаты строк в результате запроса (ALL устанавливается по умолчанию). DISTINCT Исключает дубликаты строк из результата запроса. 5. Типы данных ORACLE7 Тип данных Описание ---------------- ------------------------------------------------------------- CHAR(размер) Используется для хранения текстовых строк фиксированной длины. По умолчанию размер 1, максимальный размер 255. DATE Используется для хранения информации о дате и времени (дата, час, минута и секунда). Интервал дат: 1 января 4712 до н.э. - 31 декабря 4712 н.э. LONG Используется для хранения больших строк переменной длины (до 2 гигабайт). LONG RAW Используется для хранения двоичных строк (до 2 гигабайт). - 8 - Тип данных Описание ---------------- ------------------------------------------------------------- NUMBER(точность, Служат для хранения чисел всех типов (целые, с плавающей масштаб) точкой и т.д.). Точность изменяется от 0 до 38 (по умолчанию 38), а масштаб от -84 до 127 (по умолчанию 0). Если задается отрицательный масштаб, то Oracle7 округляет значение слева от десятичной точки. RAW(размер) Применяется для хранения небольших двоичных строк (меньше 2000 байт). ROWID Используется для хранения шестнадцатиричных значений ROWID. VARCHAR2(размер) Используется для хранения строк переменной длины. По умолчанию размер 1, максимальный размер 2000. Преобразование данных с помощью функций SQL и ORACLE7 To | From | CHAR DATE NUMBER RAW ROWID -------|----------------------------------------------------------- CHAR | TO_DATE TO_NUMBER HEXTORAW CHARTOROWID DATE | TO_CHAR NUMBER | TO_CHAR TO_DATE RAW | RAWTOHEX ROWID | ROWIDTOCHAR Допустимые преобразования To | From | CHAR DATE LONG NUMBER RAW ROWID VARCHAR2 ---------|----------------------------------------------------- CHAR | yes yes yes yes yes yes DATE | yes yes yes LONG | yes yes yes NUMBER | yes yes yes RAW | yes yes yes ROWID | yes yes VARCHAR2 | yes yes yes yes yes yes 6. Комментарии Для включения комментариев в предложения SQL и командные блоки PL/SQL можно либо расположить текст комментария между парами символов /* и */ (например, UPDATE Блюда /* Это имя модифицируемой таблицы */ SET ...), либо предварить его двумя дефисами (например, DELETE FROM Блюда -- Удаление строк таблицы Блюда). С помощью первого способа можно включать многострочные комментарии. Для включения многострочных комментариев вторым способом приходится помещать "--" перед каждой их строкой. Следует заметить, что комментарии, отмеченные "--" могут располагаться либо в отдельных строках, либо в конце строк текста комментируемого предложения (строк текста блока PL/SQL). 7. Функции SQL и ORACLE7 Функции могут быть использованы везде, где используются переменные, столбцы или выражения (соответствующего типа). Их обычно подразделяют на числовые, сим- вольные, групповые (функции SQL), функции работы с датами (дата и время), функ- ции преобразования, и прочие функции. В описаниях функций используются следующие параметры: char,char1,char2,... - константы в апострофах или выражения типа CHAR d,d1,d2 - константы в апострофах или выражения типа DATE expr,expr1,expr2,... - любые выражения - 9 - fmt - формат данных k,m,n - любые числовые константы или выражения типа NUMBER. nls - выражение вида 'NLS_SORT = name'. raw - исходные данные rowid - внутренний уникальный идентификатор строки set,set1,set2 - наборы символов z1,z2 - часовые пояса (см. "Функции работы с датами и временем") 7.1 Числовые функции Функции Возвращаемое значение ------------- ---------------------------------------------------------------- ABS(n) Абсолютное значение n, большее или равное n. CEIL(n) Наименьшее целое, не меньшее n. COS(n) Косинус n, заданного в радианах. COSH(n) Гиперболический косинус n в радианах. EXP(n) Возведение e (exp) в степень n (где е = 2.7182818). FLOOR(n) Наибольшее целое, меньшее или равное n. LN(n) Натуральный логарифм n, где n > 0. LOG(m,n) Основание m логарифма n. MOD(m,n) Остаток от деления m на n. POWER(m,n) m в степени n. Если n не целое, то оно усекается до целого. ROUND(n[,m]) n, округленное до m-того десятичного знака; если m опущено, то оно принимается равным 0. m может быть отрицательным для округ- ления цифр левее десятичной точки. SIGN(n) Если n<0, то -1; если n=0, то 0; если n>0, то 1. SIN(n) Синус n, заданного в радианах. SINH(n) Гиперболический синус n в радианах. SQRT(n) Квадратный корень из n; если n < 0, то NULL. TAN(n) Тангенс n, заданного в радианах. TANH(n) Гиперболический тангенс n в радианах. TRUNC(n[,m]) n, усеченное до m десятичных знаков; если m опущено, то оно принимается равным 0. m может быть отрицательным для усечения (обнуления) цифр слева от десятичной точки. 7.2 Символьные функции Функция Возвращаемое значение ---------------- ------------------------------------------------------------- ASCII(char) Код ASCII первого символа символьной переменной "char". CHR(n) Символ, код ASCII которого равен n CONCAT(char1, Соединяет (конкатенирует) строку "char1" со строкой "char2". char2) (Эквивалентна выражению: char1 || char2.) INITCAP(char) Символьная переменная с первыми буквами слов, начинающихся с заглавной буквы. INSTR(char1, Позиция m-того включения "char2" в "char1" при начале поиска char2[,n[,m]]) с позиции n. Если m опущено, по умолчанию предполагается 1; аналогично для n. Позиции даются относительно первого знака "char1", даже если n > 1. INSTRB(char1, Эквивалентна INSTR, но n и результат возвращаются в байтах, char2[,n[,m]]) а не в позициях символов. Эту функцию полезно использовать при работе с многобайтовыми символьными строками. LENGTH(char) Длина в знаках символьной переменной "char". LENGTHB(char) Длина в байтах символьной переменной "char". LOWER(char) "char", где все буквы преобразованы в строчные (маленькие). LPAD(char1,n Строка "char1", дополненная слева до длины n последователь- [,char2]) ностью символов из строки "char2" с повторением этой после- довательности столько раз сколько необходимо. Если "char2" опущено, то для заполнения используются пробелы. |
Форум Программиста
Новости Обзоры Магазин Программиста Каталог ссылок Поиск Добавить файл Обратная связь Рейтинги
|