Утилита для создания операторов SQL - PullRequest
1 голос
/ 07 мая 2011

Это вопрос о генерации SQL, а не создании SQL или ORM.

Являются ли они любыми инструментами кросс-баз данных, которые позволят создавать операторы вставки, например, для всех таблиц в конкретной схеме или пространстве имен. Скажем, пространство имен / схема - это Aqua в Sql Server 2008, и ваша утилита приходит и генерирует все возможные операторы вставки для этого пространства имен / схемы. И это работает на Oracle / MySql / Postgres / db2 и т. Д.

Спасибо. Боб

1 Ответ

1 голос
/ 07 мая 2011

ANSI SQL обеспечивает стандартный набор представлений в схеме INFORMATION_SCHEMA для предоставления метаданных именно для этой цели.

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

select *
from INFORMATION_SCHEMA.COLUMNS
where TABLE_CATALOG = <my-db-name>
  and TABLE_SCHEMA  = <table-owner-schema>
  and TABLE_NAME    = <table-name>
order by ORDINAL_POSITION

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

Помимо вышесказанного, поскольку нет двух поставщиков, поддерживающих набор системных таблиц с метаданными, вы в значительной степени SOL для решения для нескольких баз данных. И, к сожалению, я не верю, что Oracle поддерживает представления информационной схемы ANSI.

Хотя вы можете взглянуть на семейство продуктов Red Gate: http://www.red -gate.com /

...