Избранные общие функциональные возможности SQL для разработчиков переносимых DB2-приложений

Вы пишете SQL-приложения, которые должны быть переносимы на различные платформы? Ниже приведена информация, необходимая для достижения переносимости ваших приложений. В таблицах данной статьи сведены воедино общие возможности SQL-приложений и приведена информация, облегчающая разработку приложений, переносимых на платформы семейства DB2®, включая DB2 для z/OS®, DB2 для i®, DB2 для Linux®, UNIX® и Windows®.

разработки Отдел, сотрудники, IBM

Данная статья предоставлена отделом разработки IBM.



05.09.2011

Введение

IBM стремится реализовать важные для наших клиентов функции SQL на всех платформах таким образом, чтобы они были общими, переносимыми и поддерживали SQL-стандарты ANSI/ISO. Даты появления конкретных функций в разных продуктах DB2 могут быть различны. В некоторых случаях единственной причиной этого являются разные графики поставок продуктов DB2. В других случаях причиной являются требования клиентов по ускорению разработки функциональности SQL для конкретного продукта DB2.

Многие пользователи баз данных IBM и независимые поставщики программного обеспечения проявляют интерес к написанию переносимых приложений. Другие предпочитают разрабатывать, скажем, приложение DB2 для Windows, а затем развертывать его на DB2 для z/OS. Эти разработчики приложений просили нас предоставить список общих возможностей языка SQL в качестве краткого справочника.

Данная сводная версия общих функциональных возможностей SQL-приложений предназначена быть кратким справочником и содержит часто используемые возможности и функции на разных платформах. Более подробная информация приводится в книге "Справочник по SQL для кросс-платформенной разработки" (PDF 9,1 МБ) и соответствующих справочных книгах по SQL для продуктов DB2 (EN).

Перед использованием этих таблиц прочтите предупреждение в конце статьи.


Используемые продукты

  • DB2 Version 9.5 для Linux, UNIX и Windows
  • DB2 Version 9.1 для z/OS
  • DB2 Version 6.1 для IBM i

Содержание

Обозначения
YПродукт полностью поддерживает данную функциональность.
PПродукт частично поддерживает данную функциональность; обратитесь к информации о продукте.
Основные элементы
Элемент языкаLUWz/OS i Примечания
Идентификаторы - простыеYYY
Идентификаторы - с разделителямиYYY
Идентификаторы с поддержкой символов в нижнем регистре и завершающих подчеркиванийYYY
Приведение типов данных - неявноеYYY
Автоматическое преобразование данных, основанное на кодовой страницеYYY
КонстантыYYY
Шестнадцатеричная спецификация символьных константYYY
Null-значенияYYY
Ссылки на столбцыYYY
Ссылки на хост-переменныеYYY
Переменные-индикаторыYYY
Хост-структурыYYY
"Дружественная" арифметика и преобразованиеYYY
Арифметические операторыYYY
Конкатенация строкYYY
Скалярная внедренная выборка (subselect) в качестве выраженияYYY
Скалярная полная выборка (fullselect) в качестве выраженияYYY
Арифметика даты/времениYYY
Выражение CASEYYY
Спецификация CASTYYY
Выражение ROW CHANGEYYY
Ссылка в последовательности (NEXT VALUE и PREVIOUS VALUE)YYY
Спецификация ранжирования OLAP (RANK, DENSE_RANK)YYY
Спецификация нумерации OLAP (ROW_NUMBER)YYY
Диагностическая областьYYY
Типы данных
Элемент языкаLUWz/OS i
SMALLINTYYY
INTEGERYYY
BIGINTYYY
DECIMALYYY
NUMERICYYYNUMERIC определяется как зональное десятичное число на DB2 для i и как упакованное десятичное число на других платформах.
REALYYYДля переносимости не используйте FLOAT(n).
DOUBLE или FLOATYYYДля переносимости не используйте FLOAT(n).
DECFLOATYYY
CHARACTERYYY
VARCHARYYY
FOR BIT DATA с CHAR или VARCHARYYY
CLOBYYY
FOR SBCS или MIXED DATA с CHAR, VARCHAR или CLOBPYY
BLOBYYY
GRAPHICYYY
VARGRAPHICYYY
DBCLOBYYY
DATEYYY
TIMEYYY
TIMESTAMPYYY
Специфические типы, определяемые пользователемYYY
Специальные регистры
Элемент языка LUWz/OS i Примечания
CURRENT CLIENT_ACCTNGYYY
CURRENT CLIENT_APPLNAMEYYY
CURRENT CLIENT_USERIDYYY
CURRENT CLIENT_WRKSTNNAMEYYY
CURRENT DATEYYY
CURRENT_DATEYYY
CURRENT DECFLOAT ROUNDING MODEYYY
CURRENT DEGREEYYY
CURRENT PATHYYY
CURRENT_PATHYYY
CURRENT SCHEMAYYY
CURRENT_SCHEMAYYY
CURRENT SERVERYYY
CURRENT TIMEYYY
CURRENT_TIMEYYY
CURRENT TIMESTAMPYYY
CURRENT_TIMESTAMPYYY
CURRENT TIMEZONEYYY
SESSION_USERYYY
USERYYY
Предикаты
Элемент языкаLUWz/OS i Примечания
Основные ( = <> < > <= >= ), за исключением LOB-типовYYY
Основные со скалярным правым подзапросом оператора сравненияYYY
Кванторы (ALL, ANY или SOME) с одиночным выражением (без подзапроса) с левой стороны и частичная выборка с правой стороныYYY
BETWEEN (не скалярные подзапросы)YYY
EXISTS (внедренная выборка)YYY
IN, сопровождаемый списком выраженийYYY
IN, сопровождаемый внедренной выборкой одного столбцаYYY
IS NULL (не скалярный подзапрос)YYY
LIKE с хост-переменной или строковой константой в качестве шаблонаYYY
LIKE с выражением для шаблона и escapeYYY
Агрегатные функции
Элемент языкаLUWz/OS i Примечания
AVGYYY
COUNTYYY
COUNT_BIGYYY
MAXYYY
MINYYY
STDDEVYYY
SUMYYY
VARIANCE или VARYYY
Скалярные функции
Элемент языкаLUWz/OS i Примечания
ABSVAL или ABSYYY
ACOSYYY
ASCIIYYY
ASINYYY
ATANYYY
ATANHYYY
ATAN2YYY
BIGINTYYY
BLOBYYY
CEIL или CEILINGYYY
CHAR (не строковые модули)YYY
CHARACTER_LENGTH или CHAR_LENGTH (не строковые модули)PPYВ LUW и z/OS для достижения эквивалентной функциональности для большинства данных требуется аргумент.
CLOB (не строковые модули)YYY
COALESCE (или VALUE)YYY
COMPARE_DECFLOATYYY
CONCATYYY
CONTAINSYYY
COSYYY
COSHYYY
DATEYYY
DAYYYY
DAYNAMEYPYz/OS поддерживает функцию как образец в схеме DSN8.
DAYOFWEEKYYY
DAYOFWEEK_ISOYYY
DAYOFYEARYYY
DAYSYYY
DBCLOB (не строковые модули)YYY
DECFLOATYYY
DECIMAL или DECYYY
DECRYPT_BITPYYLUW поддерживает функцию с названием DECRYPT_BIN.
DECRYPT_CHARYYY
DEGREESYYY
DIFFERENCEYYY
DIGITSYYY
DOUBLE или DOUBLE_PRECISIONYYY
ENCRYPTYYYСинтаксис функции ENCRYPT одинаков, но z/OS будет использовать для результата формат ENCRYPT_TDES вместо ENCRYPT_RC2.
EXPYYY
FLOATYYY
FLOORYYY
GENERATE_UNIQUEYYY
GETHINTYYY
GRAPHIC (не строковые модули)PYY
HEXYYY
HOURYYY
IDENTITY_VAL_LOCALYYY
INSERT (не строковые модули)YYY
INTEGER или INTYYY
JULIAN_DAYYYY
LCASEYYY
LEFT (не строковые модули)PYY
LENGTH (не строковые модули)YYY
LNYYY
LOCATE (не строковые модули)YYY
LOG10YYY
LOWERYYY
LTRIMPPYLUW не поддерживает аргумент CLOB. z/OS не поддерживает аргумент.
MAXYYY
MICROSECONDYYY
MIDNIGHT_SECONDSYYY
MINYYY
MINUTEYYY
MODPYY
MONTHYYY
MONTHNAMEYPYz/OS поддерживает функцию как образец в схеме DSN8.
MULTIPLY_ALTYYY
NORMALIZE_DECFLOATYYY
NULLIFPPYLUW не поддерживает аргументы LOB. z/OS не поддерживает аргументы LOB.
POSITION (не строковые модули)PPYВ LUW и z/OS для достижения эквивалентной функциональности для большинства данных требуется аргумент CODEUNITS16.
POSSTRYYY
POWERYYY
QUANTIZEYYY
QUARTERYYY
RADIANSYYY
RAISE_ERRORYYY
RANDYYY
REALYYY
REPEATPPYLUW не поддерживает графические типы. z/OS не поддерживает аргументы LOB.
REPLACEPPYLUW не поддерживает графические типы. z/OS не поддерживает аргументы LOB.
RIDYYY
RIGHT (не строковые модули)PYYLUW не поддерживает графические типы.
ROUNDYYY
RTRIMPPYLUW не поддерживает аргумент CLOB. z/OS не поддерживает аргумент CLOB.
SCOREYYY
SECONDYYY
SIGNYYY
SINYYY
SINHYYY
SMALLINTYYY
SOUNDEXYYY
SPACEPYY
SQRTPYY
STRIPYYY
SUBSTRYYY
SUBSTRING (не строковые модули)PPYВ LUW и z/OS для достижения эквивалентной функциональности для большинства данных требуется аргумент.
TANYYY
TANHYYY
TIMEYYY
TIMESTAMPYYY
TIMESTAMP_ISOYYY
TIMESTAMP_FORMAT или TO_DATEYYY
TIMESTAMPDIFFYYY
TOTALORDERYYY
TRANSLATEYYY
TRUNCATE или trUNCYYY
UCASE или UPPERYYY
VALUEYYY
VARCHAR (не строковые модули)PYY
VARCHAR_FORMAT или TO_CHARYYY
VARGRAPHIC (не строковые модули)YYY
WEEKYYY
WEEK_ISOYYY
YEARYYY
Запросы
Элемент данныхLUWz/OS i Примечания
Выражение SELECTYYY
Подвыражение AS в выражении SELECTYYY
Квалифицированный * или неквалифицированный * в выражении SELECTYYY
Выражения, отличные от скалярного подзапроса, в выражении SELECTYYY
Агрегатные функции, разрешенные в выражении SELECT, даже если таблица результата унаследована от группового представления (grouped view)YYY
Выражение FROM со ссылкой на одну таблицу или представлениеYYY
Выражение FROM с неявным внутренним соединением (implicit inner join) (несколько ссылок на таблицы, разделенные запятыми)YYY
Выражение FROM с вложенным табличным выражением, содержащим внедренную выборкуYYY
Выражение FROM с вложенным табличным выражением, идущим после ключевого слова TABLEYYY
Выражение FROM с явным соединением INNER JOINYYY
Выражение FROM с LEFT OUTER JOINYYY
Выражение FROM с RIGHT OUTER JOINYYY
Выражение FROM с FULL OUTER JOIN с равенством в условии соединенияYYY
Выражение FROM с оператором INSERTYYY
Оператор WHEREYYY
GROUP BY со ссылками на названия столбцовYYY
GROUP BY со ссылками на группирующие выраженияYYY
Оператор HAVINGYYY
Полная выборка с UNION или UNION ALLYYY
Полная выборка с INTERSECT или INTERSECT ALLYYPDB2 для i не поддерживает INTERSECT ALL.
Полная выборка с EXCEPT или EXCEPT ALLYYPDB2 для i не поддерживает EXCEPT ALL.
Select-выражение, начинающееся с общего табличного выраженияYYY
Select-выражение, использующее рекурсивное общее табличное выражениеYYY
Оператор ORDER BY с квалифицированными названиями столбцовYYY
Оператор ORDER BY с выражениями ключа сортировкиYYY
Оператор ORDER BY с выражениями не в списке SELECTYYY
ORDER BY ORDER OFYYY
Оператор FOR UPDATE со списком названий столбцовYYY
Оператор FOR UPDATE с неявным списком столбцовYYY
Оператор FOR READ ONLYYYY
Оператор OPTIMIZE с целым числом строкYYY
Select-выражение с изолирующим оператором (isolation clause) с CS, RR или RSYYY
Select-выражение с изолирующим оператором с UR в выражении select, доступным только по чтениюYYY
Оператор FETCH FIRSTYYY
Основные выражения
Элемент языкаLUWz/OS i Примечания
Статическое выражение CALLYYY
Статическое выражение CALL с названием переменной для имени процедурыYYY
Выражение SELECT INTO с необязательными операторами WHERE, GROUP BY или HAVINGYYY
Выражение SELECT INTO с оператором FETCH FIRSTYYY
Выражение SELECT INTO с изолирующим операторомYYY
Выражение VALUES INTOYYY
Выражения для изменения данных
Элемент языкаLUWz/OS i Примечания
Поисковое выражение DELETEYYY
Выражение INSERT с однострочным оператором VALUESYYY
Выражение INSERT с внедренной выборкойYYY
Поисковое выражение UPDATEYYY
Операции, ориентированные на использование курсоров
Элемент языкаLUWz/OS i Примечания
Выражение CLOSEYYY
Выражение DECLARE CURSOR (см. другие элементы курсора)YYY
Объявление курсора INSENSITIVE SCROLLPYYLUW поддерживает эту функциональность только через CLI или JDBC.
Объявление курсора WITH HOLDYYY
Объявление курсора WITH RETURN (неявный возврат в вызывающую процедуру)YYY
Объявление курсора WITH RETURN TO CALLERYYY
Позиционированное выражение DELETEYYY
Выражение FETCH без ориентации курсора (неявный NEXT)YYY
Выражение FETCH с NEXT, PRIOR, FIRST, LAST, BEFORE, AFTER, CURRENT или RELATIVEPYYLUW поддерживает эту функциональность только через CLI или JDBC.
Выражение FETCH с ABSOLUTEPYP
Выражение OPENYYY
Позиционированное выражение UPDATEYYY
Управление соединением и транзакциями
Элемент языкаLUWz/OS i Примечания
Спецификация уровня изоляции на уровне пакетовYYY
Спецификация уровня изоляции на уровне выраженийYYY
RR (SERIALIZABLE в стандарте SQL2003)YYY
RS (REPEATABLE READ в стандарте SQL2003)YYY
CS (READ COMMITTED в стандарте SQL2003)YYY
UR (READ UNCOMMITTED в стандарте SQL2003 Core)YYY
Изолирующее выражение с USE AND KEEP EXCLUSIVE LOCKSPPY
Выражение COMMITYYY
Выражение CONNECT (1 сайт на транзакцию)YYY
Выражение CONNECT (2 и более сайта на транзакцию) (называется также двухфазным завершением (Two Phase Commit))YYY
Выражение DISCONNECTYYY
Выражение RELEASE для соединенияYYY
Выражение RELEASE SAVEPOINTYYY
Выражение ROLLBACK для единицы работыYYY
Выражение ROLLBACK TO SAVEPOINTYYY
Выражение SAVEPOINT - не вложенноеYYY
Выражение SAVEPOINT - вложенноеYYY
Выражение SET CONNECTIONYYY
Динамические функции
Элемент языкаLUWz/OS i Примечания
Выражение DESCRIBE output без оператора USINGYYY
Выражение DESCRIBE INPUTYYY
Выражение EXECUTEYYY
Выражение EXECUTE IMMEDIATEYYY
Выражение PREPAREYYY
Выражение PREPARE, определяющее параметры курсора (оператор ATTRIBUTES)PYYLUW поддерживает эту функциональность только через CLI или JDBC.
Управляющие выражения
Элемент языкаLUWz/OS i Примечания
Управляющие выражения в SQL-процедурахYYY
Управляющие выражения в SQL-функцияхPPYЧастичная поддержка допускает одно выражение RETURN в SQL-функциях.
Выражение присваиванияYYY
Выражение CASEYYY
Составное выражениеYYY
Вложенное не атомарное составное выражениеYYY
Выражение FORYYY
Выражение GET DIAGNOSTICS для ROW_COUNTYYY
Выражение GET DIAGNOSTICS для RETURN_STATUSYYY
Выражение GET DIAGNOSTICS для MESSAGE_TEXTYYY
Выражение GOTOYYY
Выражение IFYYY
Выражение ITERATEYYY
Выражение LEAVEYYY
Выражение LOOPYYY
Выражение REPEATYYY
Выражение RESIGNALYYY
Выражение RETURN из SQL-процедурыYYY
Выражение RETURN из SQ-функцииYYY
Выражение SIGNALYYY
Выражение WHILEYYY
Определение данных
Элемент языкаLUWz/OS i Примечания
Разрешение DDL-выражений в SQL-программахYYY
Поддержка семантики транзакций для DDLYYY
Поддержка 18-байтных имен объектов (за исключением имени схемы)YYYНекоторые платформы поддерживают более длинные имена объектов.
Поддержка 10-байтных имен схемYYYНекоторые платформы поддерживают более длинные имена схем.
Выражение ALTER functionPPY
Выражение ALTER PROCEDUREPYY
Выражение ALTER SEQUENCEYYY
Выражение ALTER TABLE (см. другие элементы, отмеченные ALTAB)YPYz/OS не позволяет указывать один и тот же оператор более одного раза.
ALTER COLUMN (ALTAB)PPY
Выражение COMMENTYYY
Выражение CREATE ALIASYYY
Выражение CREATE DISTINCT TYPEYYY
Выражение CREATE FUNCTION (External Scalar)YYY
Выражение CREATE FUNCTION (Sourced)YYY
Выражение CREATE FUNCTION (SQL Scalar)PPYНекоторые функциональные возможности поддерживаются не на всех платформах.
Выражение CREATE FUNCTION (External Table)YYY
Выражение CREATE INDEX по списку столбцовYYY
Выражение CREATE UNIQUE INDEX по списку столбцовYYY
Выражение CREATE PROCEDURE для внешней процедурыYYY
Выражение CREATE PROCEDURE для SQL-процедурыYYY
CREATE SCHEMAYPYz/OS требует, чтобы выражение обрабатывалось специальным процессором схем.
Выражение CREATE TABLE, использующее определения столбцов (см. другие элементы, отмеченные CRTAB)YYY
Выражение CREATE TABLE LIKE другая таблица/представление (см. другие элементы, отмеченные CRTAB)YYY
Выражение CREATE TABLE LIKE другая таблица/представление, включая тождественность (см. другие элементы, отмеченные CRTAB)YYY
Выражение CREATE TABLE AS запрос (см. другие элементы, отмеченные CRTAB)YYY
Оператор ограничения CHECK (ALTAB, CRTAB)YYY
Оператор DATA CAPTURE (ALTAB, CRTAB)YYPТаблицы DB2 для i всегда следят за изменениями - оператор не поддерживается.
Оператор DEFAULT без определенного значения (ALTAB, CRTAB, DGTTAB)YYY
Оператор DEFAULT с определенным значением (ALTAB, CRTAB, DGTTAB)YYY
Оператор IMPLICITLY HIDDEN (ALTAB, CRTAB)YYY
Оператор VOLATILE (ALTAB, CRTAB)YYY
Оператор IDENTITY (ALTAB, CRTAB, DGTTAB)YYY
Оператор ROW CHANGE TIMESTAMP (ALTAB, CRTAB)YYY
Оператор ограничения PRIMARY KEY (ALTAB, CRTAB)YYY
Оператор ограничения UNIQUE (ALTAB, CRTAB)YYY
Автоматическая генерация индекса для ограничений unique (ALTAB, CRTAB)YYY
Оператор ограничения по ссылке (referential) (ALTAB, CRTAB)YYY
Оператор REFERENCES, определяющий ON DELETE (ALTAB, CRTAB)PPYLUW не поддерживает ON DELETE SET DEFAULT. z/OS не поддерживает ON DELETE SET DEFAULT.
Таблицы с обратными ссылками (self referencing) могут указываться без необходимости использования ALTER TABLEYPY
Обслуживаемые пользователем MQT (CRTAB,ALTAB)YYY
Выражение CREATE SEQUENCEYYY
Выражение CREATE TRIGGER - триггер BEFORE или AFTER для таблицыYYY
Выражение CREATE TRIGGER - триггер INSTEAD OF для представления YPY
Выражение CREATE VIEW, использующее внедренную выборку без оператора CHECK OPTIONYYY
CREATE VIEW WITH CASCADED CHECK OPTIONYYY
CREATE VIEW WITH LOCAL CHECK OPTIONYYY
Выражение DECLARE GLOBAL TEMPORARY TABLE (см. другие элементы, отмеченные DGTTAB)PYY
Выражение DROP с определенным поведением RESTRICT или CASCADEPPY
Выражение DROP ALIASYYY
Выражение DROP DISTINCT TYPEYYY
Выражение DROP FUNCTIONYYY
Выражение DROP INDEXYYY
Выражение DROP PACKAGEYYY
Выражение DROP PROCEDUREYPY
Выражение DROP SEQUENCEYYY
Выражение DROP TABLEYYY
Выражение DROP TRIGGERYYY
Выражение DROP VIEWYYY
Выражение RENAME TABLEPPY
Авторизация
Элемент языкаLUWz/OS i Примечания
Выражение GRANT Function или Procedure PrivilegesYYY
Выражение GRANT Package Privileges, не имеющее оператора WITH GRANT OPTIONYYY
Выражение GRANT Package Privileges, имеющее оператор WITH GRANT OPTIONYYY
Выражение GRANT Sequence PrivilegesYYY
Выражение GRANT Table PrivilegesYYY
Выражение REVOKE Function PrivilegesYYY
Выражение REVOKE Procedure PrivilegesYPY
Выражение REVOKE Package PrivilegesYYY
Выражение REVOKE Sequence PrivilegesYYY
Выражение REVOKE Table PrivilegesYYY
Различные выражения
Элемент языкаLUWz/OS i Примечания
Выражение BEGIN и END DECLARE SECTIONYYY
Выражение DECLARE STATEMENTPYYLUW поддерживает это выражение только в хранимых процедурах SQL.
Выражение FREE LOCATORYYY
Выражение INCLUDEYYY
Выражение LOCK TABLEYYY
Выражение REFRESH TABLEYYY
Выражение SET CURRENT DECFLOAT ROUNDING MODEYYY
Выражение SET CURRENT DEGREEPYY
Выражение SET ENCRYPTION PASSWORDYYY
Выражение SET PATHYYY
Выражение SET SCHEMAYYY
Выражение WHENEVERYYY
Хост-языки
Элемент языкаLUWz/OS i Примечания
C или C++YYY
COBOLYYY
FORTRANYYY
Java (SQLJ)YYY
PL/IYYY
REXXYYY

Предупреждение

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

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

Ресурсы

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Information Management
ArticleID=755766
ArticleTitle=Избранные общие функциональные возможности SQL для разработчиков переносимых DB2-приложений
publish-date=09052011