699
.pdfEND;
/
Когда вы используете packaged cursor, он остается до тех пор, пока вы не закроете курсор или закроете сессию
[12].
2.32. Использование типов данных для хранения текста и изображений
Типы BLOB, CLOB или NCLOB могут использоваться как для столбца базы данных, так и для переменной PL/SQL. Для загрузки объекта LOB предусмотрен пакет
PL/SQL DBMS_LOB. Пакет DBMS_LOB для работы с
LOB-типами содержит процедуры и функции, некоторые из них приведены ниже:
Синтаксис |
Описание |
APPEND (d1,d2) |
Добавляет d2 к d1 |
COMPARE(d1,d2,n,pos1,pos2) |
Сравнивает n байт зна- |
|
чений d1 и d2 |
COPY (d,s,n,dp,sp) |
Копирует n байт из d в s |
FILEOPEN (bdata,m) |
Открывает объект типа |
|
BFILE в режиме, ука- |
|
занном параметром m |
LOADFROMFILE |
Копирует n байт объек- |
(bdata1,data2,n,pos1,pos2) |
та типа BFILE bdata1 в |
|
любой объект LOB |
|
data2 |
GETLENGTH (data) |
Возвращает длину ука- |
|
занного объекта LOB |
READ (data,n,pos,buf) |
Читает из объекта data n |
|
байт |
WRITE (data,n,pos,buf) |
Копирует из буфера buf |
|
n байт |
EMPTY_CLOB (), EMPTY_BLOB |
Создают «пустой» объ- |
() |
ект указанного типа |
231 |
|
Например:
DECLARE pf1 CLOB; pf2 BLOB;
buf varchar2; BEGIN
CREATE TABLE tbl1 ( f1 CLOB, f2 BLOB);
INSERT INTO tbl1 VALUES (empty_clob(),empty_blob() ); SELECT f1 INTO pf1 FOR UPDATE;
buf:= 'Текст, который будет вставлен в объект LOB';
DBMS_LOB.write (pf1, length(buf), 0,
buf);
END; [14]
2.33. Использование больших типов данных CLOB
Использование больших типов данных CLOB в Oracle
Как создать таблицу, содержащую поле CLOB, и затем загрузить в нее текст?
Создадим таблицу с именем CLOBGET:
CREATE TABLE CLOBGET
(
id NUMBER,
f_name VARCHAR2(30), text CLOB
)
/
Типы данных ntext, text и image будут удалены в следующей версии Microsoft SQL Server. Избегайте использования этих типов данных в новых проектах и запланируйте внесение изменений в приложения, использующие их в на-
232
стоящее время. Вместо этих типов данных следует исполь-
зовать типы nvarchar(max), varchar(max) и varbinary(max). binary и varbinary (Transact-SQL)
SQL Server 2014 Другие версии
Типы двоичных данных фиксированной или переменной длины.
binary [ ( n ) ]
Двоичные данные фиксированной длины размером в n байт, где n – значение от 1 до 8000. Размер при хранении составляет n байт.
varbinary [ ( n | max) ]
Двоичные данные с переменной длиной; n может иметь значение от 1 до 8000; max указывает, что максимальный размер при хранении составляет 231–1 байт. Размер хранения – это фактическая длина введенных данных плюс 2 байта. Введенные данные могут иметь размер 0 символов. В ANSI SQL синонимом для varbinary является binary varying.
Преобразование данных строкового типа
При преобразовании данных строкового типа (char, varchar, nchar, nvarchar, binary, varbinary, text, ntext или image) в тип данных binary или varbinary неравной длины SQL Server дополняет или усекает данные справа. При преобразовании других типов данных в тип binary или varbinary данные дополняются или усекаются слева. Дополнение осуществляется шестнадцатеричными нулями.
233
СПИСОК ЛИТЕРАТУРЫ
1.Academic.ru – Словари и энциклопедии на Академи-
ке [Электронный ресурс]. – URL: http://www.dic.academic.ru (дата обращения: 14.09.2014).
2.Allround Automations. – URL: http://www.allroundautomations.com. (дата обращения: 14.09.2014).
3.CIT Forum. – URL: http://www.citforum.ru (дата обращения: 14.09.2014).
4.CyberForum.ru. – URL: http://www.cyberforum.ru. (дата обращения: 14.09.2014).
5.Database tutorial – Oracle Database, SQL and PLSQL. – URL: http://www.oraclesql-plsql.com (дата обращения: 14.09.2014).
6.Delphi Sources. – URL: http://www.delphisources.ru (дата обращения: 14.09.2014).
7.FoxBase!. Блог Oracle разработчика. – URL: http://www.foxbase.ru. (дата обращения: 14.09.2014).
8.gendocs.ru. – URL: http://www.gendocs.ru (дата обращения: 14.09.2014).
9.interface.ru. – URL: http://www.interface.ru. (дата обращения: 14.09.2014).
10.Matisse The Post-Relational SQL Database. – URL: http://www.matisse.com (дата обращения: 14.09.2014).
11.MSDN. – URL: http://www.msdn.microsoft.com (дата обращения: 14.09.2014).
12.Oracle Documentation. – URL: http://www.docs.oracle.com (дата обращения: 14.09.2014).
13.Oracle in Russian – Blogger. – URL: http://www.oracleinrussian.blogspot.ru (дата обращения: 14.09.2014).
14.SQL.ru. – URL: http://www.sql.ru (дата обращения: 14.09.2014).
234
15.TechNet – Microsoft. – URL: http://www.technet.microsoft.com (дата обращения: 14.09.2014).
16.Toad World: Home. – URL: http://www.toadworld.com (дата обращения: 14.09.2014).
17.Академия специальных курсов по информационным технологиям [Электронный ресурс]. – URL: http://www.askit.ru (дата обращения: 14.09.2014).
18.Блог о программировании. – URL: http:// www.devdelphi.ru (дата обращения: 14.09.2014).
19.В помощь Веб-Мастеру [Электронный ресурс]. – URL: http://www.wm-help.net. (дата обращения: 14.09.2014).
20.Википедия – свободная энциклопедия. – URL: http://www.ru.wikipedia.org (дата обращения: 14.09.2014).
21.Издательство Диалектика: книжные новинки 2014 [Электронный ресурс]. – URL: http://www.dialektika.com. (дата обращения: 14.09.2014).
22.Интерактивный учебник по SQL [Электронный ре-
сурс]. – URL: http://www.sql-tutorial.ru (дата обращения: 14.09.2014).
23.Каталог программиста [Электронный ресурс]. – URL: http:// www.articles.org.ru (дата обращения: 14.09.2014).
24.Кафедра информационных технологий [Электрон-
ный ресурс]. – URL: http://www.dit.isuct.ru. (дата обращения: 14.09.2014).
25.Компания БИТЕК [Электронный ресурс]. – URL: http://www.betec.ru. (дата обращения: 14.09.2014).
26.Лучшие публикации за сутки / Хабрахабр [Элек-
тронный ресурс]. – URL: http://www.habrahabr.ru (дата обращения: 14.09.2014).
27.Материалы по информационным технологиям
[Электронный ресурс]. – URL: http:// www.inftis.narod.ru (дата обращения: 14.09.2014).
235
28.Научная библиотека [Электронный ресурс]. – URL: http://www.sernam.ru (дата обращения: 14.09.2014).
29.НОУ «ИНТУИТ» [Электронный ресурс]. – URL: http://www.intuit.ru. (дата обращения: 14.09.2014).
30.Оракл для начинающих | Oracle for beginners [Элек-
тронный ресурс]. – URL: http://www.oraclestart.blogspot.ru (дата обращения: 14.09.2014).
31.ПЕРВЫЕ ШАГИ [Электронный ресурс]. – URL: http://www.firststeps.ru (дата обращения: 14.09.2014).
32.Программирование на языке C# [Электронный ре-
сурс]. – URL: http://www.professorweb.ru. (дата обращения: 14.09.2014).
33.Программирование, исходники, операционные системы [Электронный ресурс]. – URL: http://www.cyberguru.ru.(Дата обращения: 14.09.2014).
34.РДТЕХ – Разумные Деловые Технологии [Элек-
тронный ресурс]. – URL: http://www.rdtex.ru. (дата обращения: 14.09.2014).
35.Российская академия естествознания [Электрон-
ный ресурс]. – URL: http://www.rae.ru. (дата обращения: 22.04.2014).
36.Справочник по Oracle PL/SQL [Электронный ре-
сурс]. – URL: http://www.plsqlbook.ru (дата обращения: 14.09.2014).
37.Технологии баз данных: SQL, T-SQL, PL/SQL, реляционные БД [Электронный ресурс]. – URL: http://www.datasql.ru (дата обращения: 14.09.2014).
38.Технологии проектирования информационных систем [Электронный ресурс]. – URL: http:// www.gosisis.narod.ru (дата обращения: 14.09.2014).
39.Трофимов С.А. CASE-технологии: практическая работа в Rational Rose. – 2-е изд-е – М.: Бином-Пресс, 2002. – 288 с.
236
40.Факультет электроники и вычислительной техники
[Электронный ресурс]. – URL: http:// www.fevt.ru. (дата обращения: 14.09.2014).
41.Центр дистанционного образования ДВГУПС
[Электронный ресурс]. – URL: http://www.edu.dvgups.ru (дата обращения: 14.09.2014).
42.Электронные книги [Электронный ресурс]. – URL: http://www.e-reading.ws (дата обращения: 14.09.2014).
43.Электронные приложения – Бином [Электронный ресурс]. – URL: http://www.files.lbz.ru (дата обращения: 14.09.2014).
44.Эсти-Мэп [Электронный ресурс]. – URL: http://www.esti-map.ru (дата обращения: 14.09.2014).
45.Язык запросов SQL. SQL запросы. Запросы sql примеры [Электронный ресурс]. – URL: http://www.sqllanguage.ru (дата обращения: 14.09.2014).
237
ПРИЛОЖЕНИЕ
База данных «Вуз»
CREATE TABLE [dbo].[vus](
[Cv] [tinyint] IDENTITY(1,1) NOT NULL, [vus] [varchar](60) NOT NULL,
[abr] [varchar](20) NULL,
CONSTRAINT [PK_vus] PRIMARY KEY CLUSTERED
(
[Cv] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Корпус
CREATE TABLE [dbo].[corp](
[CCp] [tinyint] IDENTITY(1,1) NOT NULL, [adr] [varchar](50) NOT NULL,
[corp] [varchar](50) NULL, [Cv] [tinyint] NULL,
CONSTRAINT [PK_corp1] PRIMARY KEY CLUSTERED
(
[CCp] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
ALTER TABLE [dbo].[corp] WITH CHECK ADD CONSTRAINT [FK_corp_vus] FOREIGN KEY([Cv])
REFERENCES [dbo].[vus] ([Cv]) GO
ALTER TABLE [dbo].[corp] CHECK CONSTRAINT [FK_corp_vus]
238
Факультет
CREATE TABLE [dbo].[fac](
[Cfc] [varchar](10) NOT NULL, [fac] [varchar](50) NOT NULL, [CCp] [tinyint] NULL,
CONSTRAINT [PK_fac] PRIMARY KEY CLUSTERED
(
[Cfc] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
ALTER TABLE [dbo].[fac] WITH CHECK ADD CONSTRAINT [FK_fac_corp] FOREIGN KEY([CCp])
REFERENCES [dbo].[corp] ([CCp]) GO
ALTER TABLE [dbo].[fac] CHECK CONSTRAINT [FK_fac_corp] GO
Школа (для абитуриентов)
CREATE TABLE [dbo].[School](
[Csl] [tinyint] IDENTITY(1,1) NOT NULL, [schl] [varchar](70) NOT NULL,
CONSTRAINT [PK_School] PRIMARY KEY CLUSTERED
(
[Csl] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Направление
CREATE TABLE [dbo].[napr](
[Cna] [tinyint] IDENTITY(1,1) NOT NULL, [napr] [varchar](50) NOT NULL,
239
CONSTRAINT [PK_napr] PRIMARY KEY CLUSTERED
(
[Cna] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Форма обучения
CREATE TABLE [dbo].[Fob](
[Cu] [tinyint] IDENTITY(1,1) NOT NULL, [fob] [varchar](30) NULL,
CONSTRAINT [PK_Fob] PRIMARY KEY CLUSTERED
(
[Cu] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Группа абитуриент курс 0, студенты 1,2,3… CREATE TABLE [dbo].[Gro](
[Cgr] [varchar](10) NOT NULL, [Cfc] [varchar](10) NOT NULL, [Course] [varchar](5) NOT NULL, [Cur] [varchar](20) NULL,
[Cu] [tinyint] NULL, [Cna] [tinyint] NULL,
CONSTRAINT [PK_Group] PRIMARY KEY CLUSTERED
(
[Cgr] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
240