Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Автоматическое формирование запросов по содержимому таблицы ? / 9 сообщений из 9, страница 1 из 1
25.09.2001, 11:46
    #32014596
Alex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое формирование запросов по содержимому таблицы ?
Возможно-ли по содержимому таблицы создать скрипт занесения (обновления ?) записей
например есть таблица, запрос SELECT * FROM Table
выдает

ID
-----
1
3
45
3

Необходимо получить набор запросов что-то типа
INSERT INTO Table (ID) VALUES (1)
GO
INSERT INTO Table (ID) VALUES (3)
GO
INSERT INTO Table (ID) VALUES (45)
GO
INSERT INTO Table (ID) VALUES (3)

или чтото подобное, а главное автоматически


GO
...
Рейтинг: 0 / 0
25.09.2001, 12:06
    #32014599
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое формирование запросов по содержимому таблицы ?
Напиши мне на мыло GreenSunrise@mail.ru
У меня есть такой скрипт. Не лишен недостатков
, но вполне рабочий.
...
Рейтинг: 0 / 0
25.09.2001, 17:35
    #32014637
Fompro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое формирование запросов по содержимому таблицы ?
В PowerBuilder есть Export в T-SQL
...
Рейтинг: 0 / 0
26.09.2001, 06:04
    #32014657
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое формирование запросов по содержимому таблицы ?
Смотря какие запросы нужны.
можно и так: insert Need_Table_Name (ID,...) select ID,... from Table_Name
...
Рейтинг: 0 / 0
26.09.2001, 09:53
    #32014689
Pandre
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое формирование запросов по содержимому таблицы ?
Что вы человека мучаете, все же просто

select 'INSERT INTO Table (ID) VALUES ('+cast(ID as varchar)+')'+char(13)+'GO' from Table

и т.д.
...
Рейтинг: 0 / 0
26.09.2001, 11:17
    #32014699
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое формирование запросов по содержимому таблицы ?
Pandre, а ты не задумывался о:
- типах данных, которые напрямую к varchar не приводятся
- юникоде
- поле datetime, которое во избежание ошибок при переносе с одного сервера на другой лучше писать с явным convert'ом
- text/ntext
- значениях NULL
- желательном явном перечислении полей, чтобы опять-таки легче было переносить на другой сервак и не иметь траблы из-за того, что там порядок полей немного отличается
- многом другом...
...
Рейтинг: 0 / 0
26.09.2001, 11:18
    #32014701
Tarantino
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое формирование запросов по содержимому таблицы ?
А у меня есть программа для генерации подобных скриптов
...
Рейтинг: 0 / 0
26.09.2001, 11:25
    #32014702
Pandre
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое формирование запросов по содержимому таблицы ?
2 GreenSunrise
Об этом я конечно задумывался. Но, как я понял, автоматически автор вопроса хотел генерить текст на Insert, а не сам скрипт по его созданию.
Кстати, ты не задумался, что еще бывают и поля Image, или они тоже у тебя формируются ?
...
Рейтинг: 0 / 0
26.09.2001, 11:58
    #32014706
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое формирование запросов по содержимому таблицы ?
2Pandre: насколько я понимаю, речь шла о процедуре, которой даешь на вход имя таблицы, а на выходе печатается пачка инсертов. Это в простейшем случае. Вот об этой процедуре я и говорю - сформировать строку insert into table1 (col1, col2) values (...) не так просто, как тебе кажется. Именно потому, что ... в скобках может выглядеть по-разному
- 'aaaa'
- N'aaaa'
- 123
- 123.456546
- 0x56546456
- дата/время в формате, отличном от текущего на сервере

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

Моя процедура корректно работает со всеми типами данных (в том числе и пользовательскими), кроме image и binary. varbinary обрабатывается нормально. Разумеется, отсекает строку за пределами 8000 байт - это ограничения сиквела на локальную переменную. Всего процедурку у меня ее брали человек 6, пока никто не жаловался. Конечно, может быть, никто из них не пользовался ею
Если кто пришлет замечания, то это только приветствуется.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Автоматическое формирование запросов по содержимому таблицы ? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]