Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по субд Крупская.doc
Скачиваний:
54
Добавлен:
15.06.2014
Размер:
1.95 Mб
Скачать

Инициализация коллекций

Дляинициализации коллекциииспользуетсяконструктор- автоматически создаваемая функция, одноименная с типом коллекции.

Конструкторсоздает коллекцию из значений переданного ему списка параметров.Конструкторможет быть вызван как в секции объявлений через знак присваивания после указания типа, так и в теле программы. Вызовконструкторабез параметров означаетинициализацию коллекциикак пустой, но не устанавливает ее равнойNULL.

Конструкторможно вызывать в любом месте, где допустим вызов функции. Для того чтобы добавить в таблицу базы данных строку, одно изполейкоторой имеет тип коллекции, следует использоватьконструктор.

50 Массовое связывание.

Операторы SQL в блоках PL/SQL посылаются системе поддержки SQL. Система поддержки SQL в свою очередь может посылать данные назад системе поддержки PL/SQL. При выполнении этого блока в таблицу temp_table вставляется 500 строк. Однако каждая операция INSERT делается отдельно. Это приводит к 500 переключениям контекста между PL/SQL и SQL.

OracleSi переключает контекст только один раз, передавая всю таблицу PL/SQL в систему выполнения SQL за один шаг, который называетсямассовым связыванием (bulk bind). Массовые связывания выполняются с помощью оператора FORALL.

Массовые связывания могут использоваться также с запросами для извлечения за один раз более одной строки активного набора.

51 Преобразование типов данных. Область действия и область видимости переменных. Выражения и операции.

Преобразование типов данных происходит в следующих случаях:

При перемещении, сравнении или объединении данных одного объекта с данными другого объекта эти данные могут преобразовываться из одного типа в другой.

При перемещении в переменную программы данных из результирующего столбца Transact-SQL, кодов возврата или выходных параметров эти данные должны преобразовываться из системного типа данных SQL Server в тип данных переменной.

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

Неявное преобразование скрыто от пользователя.

SQL Server автоматически преобразует данные из одного типа в другой. Например, если тип данных smallint сравнивается с типом int, то перед сравнением тип smallint неявно преобразуется в тип int.

Некоторые виды явного и неявного преобразования типов данных не поддерживаются при преобразовании типа данных одного объекта SQL Server в тип данных другого объекта. Например, значение типа nchar нельзя преобразовать в значение типа image. Тип данных nchar можно преобразовать только в тип данных binary, причем только явно. Неявное преобразование в binary не поддерживается. Однако тип данных nchar можно преобразовать в тип nvarchar как явно, так и неявно.

При взаимных преобразованиях переменных приложения и столбцов результирующих наборов, кодов возврата, параметров и маркеров параметров SQL Server поддерживаемые преобразования типов данных определяются API базы данных. Дополнительные сведения см. в разделе Перенос данных в программные переменные.

52 Управляющие структуры pl/sql. Область действия счетчика цикла, ограничения безусловных переходов условное управление

Оператор IF–ELSIF–ELSEв программе PL/SQL вычисляет некоторое логическое условие и, когда это условие истинно (TRUE), выполняет один или несколько операторов.

ifусловиеthen

оператор 1;оператор 2;

elsif(неelseif)

оператор 3;оператор 4;

else

оператор 5;оператор 6;

endif;