Таблица переменных или имен столбцов - PullRequest
1 голос
/ 17 июня 2010

INFORMIX-SQL или любая другая база данных на основе SQL:

Предположим, у меня есть приложение, в котором в зависимости от значения некоторых столбцов, например:

company.code  char(3) {abc}
company.branch char(2) {01}

Могу ли я создать имя таблицы«abc01» для включения в SELECT * FROM abc01;?Другими словами, имя переменной таблицы .. тот же вопрос применяется для имен столбцов.

Ответы [ 2 ]

3 голосов
/ 17 июня 2010

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

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

2 голосов
/ 17 июня 2010

Только если вы используете динамический sql.Это похоже на то, как вы создаете SQL-код в своем приложении, а затем используете что-то вроде немедленного выполнения.

sprintf(cdb_text1, "create table %s (field1 char(3));", usr_db_id);
EXEC SQL execute immediate :cdb_text;

Если вы используете динамический SQL, это плохо из-за SQL-инъекций.

...