русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

DECLARE


Дата добавления: 2015-08-31; просмотров: 749; Нарушение авторских прав


C CAR; Id NUMBER;

BEGIN

SELECT MAX(Key) INTOId FROMCars;

SELECTOneCar INTO CFROM Cars WHERE Key=Id;

C.Model:=’BMW’;

C.Color:=’черный’;

INSERT INTO Cars VALUES (Id+1, C);

END;

SELECT * FROM Cars;

KEY ONECAR(MODEL, COLOR, COST)

------ ---------------------------------------------

1 CAR(’Skoda’, ’Piros’, 2000000)

2 CAR(’Lada’, ’Zцld’, 1200000 )

3 CAR(’BMW’,’Fekete’, 1200000)

В SQL-командах ссылка на атрибуты или методы объекта осуществляется через alias-имя.

SELECT C.OneCar.ModelFROM Cars C;

SELECT C.OneCar.GetCarInfo() FROM Cars C;

 

В Objekt-строке можно ссылаться, как на обычный столбец –

SELECT C.OneCar.GetCarInfo()FROM CarsRows C;

 

* Составные конструкции (COLLECTIONS)

Индексные таблицы (Index-by tables) - таблицы PL/SQL

Вложенные таблицы (Nested tables) - таблицы PL/SQL, можно хранить в табл. БД



Массивы (переменной длины)

* 1). Индексные таблицы

TYPE тип_таблицы IS TABLE OF тип INDEX BY BINARY_INTEGER;

Имеет два столбца – KEY (ключ) VALUE (значение), INDEX BY BINARY_INTEGER –как ключ,

(-2147483647...+ 2147483647),

TYPEt_CharacterTable IS TABLE OF VARCHAR2(10) INDEX BY BINARY_INTEGER;

 

V_Characters t_CharacterTable;

 

DECLARE

TYPE t_NameTable IS TABLE OF Студент.ФИО%TYPE

INDEX BY BINARY_INTEGER;

TYPE t_DateTable IS TABLE OF DATE

INDEX BY BINARY_INTEGER;

V_ Names t_NameTable; V_ Dates t_DateTable;

BEGIN

V_ Names(1):= ’Иван’;

V_ Dates(-4):= SYSDATE - 1;

END;

SET SERVEROUTPUT ON

DECLARE

TYPEt_StudentTable IS TABLE OF Студент%ROWTYPE

INDEX BY BINARY_INTEGER;

V_Student t_StudentTable;

 

BEGIN

SELECT * INTOV_ Student (10001)

FROM Студент WHERE id = 10001;

V_ Student (10001). ФИО := 'Сидор';

DBMS_OUTPUT.PUT_LINE(V_ Student(10001).ФИО);

END;

 

2). Вложенные таблицы – два столбца KEY, VALUE

Может быть столбцом в таблице БД

TYPE имя IS TABLE OFтип

DECLARE

K INTEGER;

TYPE Num_Tab IS TABLE OF NUMBER;

Tab_1 Num_Tab :=Num_Tab(-1);

Tab_2 Num_Tab :=Num_Tab(1, 2, 3, 5, 7);

Tab_3 Num_Tab :=Num_Tab( );

BEGIN

Tab_1(1):=12345;

FOR K IN 1..5LOOP DBMS_OUTPUT.PUT(Tab_2(K) || ‘ ‘); END LOOP;

END;

 

1 2 3 5 7

При инициализации Tab_1(1)=( -1),

Tab_2(1)=(1), Tab_2(2)=(2), Tab_2(3)=(3), Tab_2(4)=(5), Tab_2(15=(7);

 

3). Массивы. Индексы начинаются с 1

TYPEтипIS VARRAY максимальный размерOFтип_элементов[NOT NULL];

TYPE Num_List IS VARRAY(20) OF NUMBER(3)NOT NULL;

TYPE Car_ListIS VARRAY (100) OF CarArr%ROWTYPE;

TYPE Car_ArrIS VARRAY (20) OF Car;



<== предыдущая лекция | следующая лекция ==>
VARCHAR2, NUMBER, DATE, BOOLEAN. | DECLARE


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.743 сек.