Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Атрибуты, используемые при объявлении переменных






Название атрибута Назначение Пример объявления
%ROWTYPE Позволяет создать переменную со всеми свойсвами записи указанной таблицы. DECLARE Row1 ADMIN_BOOKS.AUTHORS%ROWTYPE; /*объявлена переменная типа записи таблицы ADMIN_BOOKS.AUTHORS*/ begin NULL; end;
%TYPE Позволяет создать переменную со всеми свойсвами столбца указанной таблицы. DECLARE COLUMN1 ADMIN_BOOKS.AUTHORS.NAME_AUTHOR%TYPE; /*объявлена переменная COLUMN1 со свойствами столбца NAME_AUTHOR таблицы ADMIN_BOOKS.AUTHORS*/ begin NULL; end;

Преобразование типов переменных

В таблице 4.4 представлены основные функции по преобразованию типов переменных, кроме описанных существуют еще такие функции, как TO_SINGLE_BYTE, TO_MULTI_BYTE, TO_BLOB, TO_CLOB, TO_NCLOB, с которыми можно ознакомиться дополнительно.

 

Таблица 4.4

Краткий обзор функций преобразования типов переменных

Название функции Пояснения и пример использования
CHARTOROWID Функция конвертирует символьную строку с данными, соответствующими ROWID, в тип rowid
HEXTORAW RAWTOHEX RAWTONHEX SET SERVEROUTPUT ON DECLARE n raw(10): ='123da12'; BEGIN DBMS_OUTPUT.PUT_LINE(HEXTORAW(n)); DBMS_OUTPUT.PUT_LINE(RAWTOHEX(n)); END;
ROWIDTOCHAR SET SERVEROUTPUT ON DECLARE n ROWID: ='123da12sss'; BEGIN DBMS_OUTPUT.PUT_LINE(ROWIDTOCHAR(n)); END;
TO_CHAR TO_NCHAR SET SERVEROUTPUT ON DECLARE n integer: =1009; ch char(5); ch1 nchar(5); BEGIN ch: =TO_CHAR(n); ch1: =TO_NCHAR(n); DBMS_OUTPUT.PUT_LINE(ch); DBMS_OUTPUT.PUT_LINE(ch1); DBMS_OUTPUT.PUT_LINE(TO_CHAR(SYSDATE, 'SSSSS')); END;
TO_DATE SET SERVEROUTPUT ON DECLARE ch char(11): ='21-дек-1980'; ch1 char(11): ='05-30-1990'; BEGIN DBMS_OUTPUT.PUT_LINE(TO_DATE(ch, 'dd-mon-yyyy')); DBMS_OUTPUT.PUT_LINE(TO_DATE(ch1, 'mm-dd-yyyy')); END;
TO_NUMBER SET SERVEROUTPUT ON DECLARE n int: =1029; num number(4, 0); num1 number(4, -1); BEGIN num: =TO_NUMBER(n); num1: =TO_NUMBER(n); DBMS_OUTPUT.PUT_LINE(num); DBMS_OUTPUT.PUT_LINE(num1); END;

Операторские скобки

BEGIN

/* Операторские скобки должны содержать хотя бы один оператор. Требуются для конструкций поливариантных ветвлений, условных и циклических конструкций.

*/

END;

Оператор ветвления IF

Синтаксис:

IF условие_1 THEN

Операторы;

ELSIF условие_2 THEN

Операторы;

ELSIF условие_3 THEN

ELSE

Операторы;

END IF

Пример ветвления:

SET SERVEROUTPUT ON

DECLARE

n NUMBER;

BEGIN

n: = DBMS_RANDOM.RANDOM;

IF n< 10 THEN

DBMS_OUTPUT.PUT_LINE('n=' || n || '; N< 10');

ELSIF n=10 THEN

DBMS_OUTPUT.PUT_LINE('n=' || n || '; N=10');

ELSE

DBMS_OUTPUT.PUT_LINE('n=' || n || '; N> 10');

END IF;

END;

Ветвление CASE

Синтаксис:

имя_переменной_метки: =

CASE

WHEN условие1 THEN

значение1

WHEN условие2 THEN

значение2

WHEN условие3 THEN

значение3

ELSE

значениеN

END;

Или

CASE

WHEN условие1 THEN

операторы;

WHEN условие2 THEN

операторы;

WHEN условие3 THEN

операторы;

ELSE

операторы;

END CASE;

Пример ветвления:

SET SERVEROUTPUT ON

DECLARE

n NUMBER;

BEGIN

n: = DBMS_RANDOM.RANDOM;

CASE

WHEN n< 10 THEN

DBMS_OUTPUT.PUT_LINE('n=' || n || '; N< 10');

WHEN n=10 THEN

DBMS_OUTPUT.PUT_LINE('n=' || n || '; N=10');

ELSE

DBMS_OUTPUT.PUT_LINE('n=' || n || '; N> 10');

END CASE;

END;

 

Пример ветвления:

SET SERVEROUTPUT ON

DECLARE

n NUMBER;

ch char(15);

BEGIN

ch: =

CASE

WHEN n< 10 THEN 'n=' || n || '; N< 10'

WHEN n=10 THEN 'n=' || n || '; N=10'

ELSE 'n=' || n || '; N> 10'

END;

DBMS_OUTPUT.PUT_LINE(ch);

END;


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал