Witam serdecznie forumowiczów.
Po raz kolejny zgłaszam się do was z problemem dotyczącym generatora danych w języku sql dla środowiska Microsoft SQL Server Management Studio.
Utworzyłem procedurę której zadaniem jest dodanie 1000 rekordów do określonej tabeli:
Tabela equipment:
id_equipment int (identity, klucz główny), quantity bigint, symbol varchar(15), name varchar (32), description varchar (512), id_room int
tabela jest połączona z dwoma innymi tabelami.
Problemem jest to, że ostatnie pole tej tabeli : id_room jest wykożystywane jako klucz obcy do tabeli room i podczas dodawania rekordów do tabeli equipment wyrzuca mi błąd dotyczący:
Cannot insert the value NULL into column 'id_room', table 'nowa.dbo.equipment'; column does not allow nulls. INSERT fails.
The statement has been terminated.
Generator wygląda następująco:
PROCEDURE [dbo].[dodaj_do_tabeli_equipment]
AS
DECLARE @licznik VARCHAR (3);
SET @licznik=1;
WHILE @licznik <= 1000
BEGIN
INSERT INTO equipment (quantity, symbol, name, description)
SELECT 'quantity' = @licznik, 'symbol' + CAST(ISNULL(MAX (id_equipment),0) + 1 AS VARCHAR), 'name' + CAST(ISNULL(MAX
(id_equipment),0) + 1 AS VARCHAR), 'description' + CAST(ISNULL(MAX (id_equipment),0) + 1 AS VARCHAR) FROM equipment
SET @licznik = @licznik + 1;
END
Co mogę w tej sprawie zrobić? Czy muszę usunąć tabele equipment oraz parę innych z nią powiązanych i stworzyć je na nowo z, np. ww. problematycznym polem id_room dodając mu identity? Czy mogę to jakoś ominąć?
Proszę o pomoc, nie potrafię sobie z tym poradzić.