Мы использовали.Net, Открывают проект Id и довольно довольны им до сих пор. Andrew Arnott делает большую работу ответа на запросы и предложения обходных решений, если Вы поражены. Дайте ему попытку, и Вы будете любить его:)
Ну, я подумал, что вытащу палец и напишу себе легкий генератор данных:
declare @select varchar(max), @insert varchar(max), @column varchar(100),
@type varchar(100), @identity bit, @db nvarchar(100)
set @db = N'Orders'
set @select = 'select '
set @insert = 'insert into ' + @db + ' ('
declare crD cursor fast_forward for
select column_name, data_type,
COLUMNPROPERTY(
OBJECT_ID(
TABLE_SCHEMA + '.' + TABLE_NAME),
COLUMN_NAME, 'IsIdentity') AS COLUMN_ID
from Northwind.INFORMATION_SCHEMA.COLUMNS
where table_name = @db
open crD
fetch crD into @column, @type, @identity
while @@fetch_status = 0
begin
if @identity = 0 or @identity is null
begin
set @insert = @insert + @column + ', '
set @select = @select +
case @type
when 'int' then '1'
when 'varchar' then '''test'''
when 'nvarchar' then '''test'''
when 'smalldatetime' then 'getdate()'
when 'bit' then '0'
else 'NULL'
end + ', '
end
fetch crD into @column, @type, @identity
end
set @select = left(@select, len(@select) - 1)
set @insert = left(@insert, len(@insert) - 1) + ')'
exec(@insert + @select)
close crD
deallocate crD
Для любой таблицы сценарий создаст одну запись с некоторыми произвольными значениями для типов; int, varchar, nvarchar, smalldatetime и бит. Оператор case можно заменить функцией. Он не будет перемещаться по зависимостям, но он пропустит любые засеянные столбцы.
Моя мотивация для создания этого состоит в том, чтобы протестировать мои файлы сопоставления NHibernate с таблицей примерно с 50 столбцами, поэтому мне пришлось быстро написать простой сценарий, который можно повторно -использован.
Существует программа из Red Gate Software , которая сделает это за вас. Он называется Генератор данных SQL .
Некоторые разновидности Visual Studio имеют встроенную генерацию данных. Если вы используете в нем проекты баз данных, вы можете создавать планы генерации данных. Вот статья MSDN