Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Быстрое создание примера master-detail  [new]
Дмитрий16
Member

Откуда: Новосибирск
Сообщений: 481
Для демонстрации примеров иногда нужно быстро создать пару табличек в стиле master-detail и наполнить их чем то похожим на осмысленные данные.
Например:
CREATE TABLE MasterTable
(ID INTEGER IDENTITY (1,1),
NAME NVARCHAR(256) DEFAULT 'No name'
CONSTRAINT PK_MasterTable PRIMARY KEY CLUSTERED (ID ASC)
)  

CREATE TABLE DetailTable
(ID INTEGER IDENTITY (1,1),
Text NVARCHAR(256) DEFAULT 'No text',
MasterID INTEGER REFERENCES MasterTable(ID) ON DELETE CASCADE ON UPDATE CASCADE
CONSTRAINT PK_DetailTable PRIMARY KEY CLUSTERED (ID ASC)
)  


Нужно:
Заполнить эти таблицы тестовыми данными похожими на настоящие?

Чтобы в поле Name - были слова похожие на имена (например дни недели).
Чтобы были записи в подчиненной таблице (разное кол-во)
Чтобы поле Text в подчиненной также было заполнено тестовыми данными.


Как сделать это наиболее компактно (по коду) без кучи Insert'ов.
30 окт 12, 12:07    [13395609]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое создание примера master-detail  [new]
pit_alex
Member

Откуда: Kharkov
Сообщений: 686
Дмитрий16,

дамп, файл-скрипт ?
30 окт 12, 12:34    [13395819]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое создание примера master-detail  [new]
_djХомяГ
Guest
Воспользоваться демо БД Майкрсофта NorthWind, pubs и просто вставить часть инфы из соотв табличек
30 окт 12, 12:54    [13395998]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое создание примера master-detail  [new]
_djХомяГ
Guest
+ AdventureWorks
30 окт 12, 12:55    [13396009]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое создание примера master-detail  [new]
Glory
Member

Откуда:
Сообщений: 104751
Дмитрий16
Как сделать это наиболее компактно (по коду) без кучи Insert'ов.


B. Inserting multiple rows of data
The following example uses the table value constructor to insert three rows into the Production.UnitMeasure table in a single INSERT statement. Because values for all columns are supplied and are listed in the same order as the columns in the table, the column names do not have to be specified in the column list.

Copy Code
USE AdventureWorks2008R2;
GO
INSERT INTO Production.UnitMeasure
VALUES (N'FT2', N'Square Feet ', '20080923'), (N'Y', N'Yards', '20080923'), (N'Y3', N'Cubic Yards', '20080923');
30 окт 12, 12:56    [13396023]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое создание примера master-detail  [new]
Дмитрий16
Member

Откуда: Новосибирск
Сообщений: 481
Поясню мысль.На C# для получения списка слов, похожих на настоящие я бы сделал так:

KnownColor[] colors  = Enum.GetValues(typeof(KnownColor));
30 окт 12, 13:02    [13396082]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое создание примера master-detail  [new]
Алексей Дарьин
Member

Откуда:
Сообщений: 13
Дмитрий16,

Если вопрос в днях недели - используйте http://msdn.microsoft.com/en-us/library/ms174395.aspx но, ИМХО, проще сделать заготовку и, как уже советовали из файла вставлять.
30 окт 12, 13:54    [13396629]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить