Witam. Zacznę od początku.
Baza na której pracuje jest czystko przykładowa (wiem, że pola mają zadeklarowane złe typy bo przerabiałem tę bazę na potrzeby różnych procedur, ale chodzi mi tylko o samo działanie tej procedury, o samo wykonanie takiej procedury)
Baza ma 3 tabele (tyle wystarczy do przeprowadzenia tej operacji)
Tabela
KLIENT_TAB - KLIENT_ID (pk,int), KLIENT_NAZWA(int)
WYJAZDY_TAB - WYJAZDY_ID(pk, int), WYJAZDY_NAZWA(varchar)
MIESZ_TAB- MIESZ_ID(pk,int), KLIENT_ID(fk, int),WYJAZDY_ID(fk,int)
Procedurę dodającą naraz wiele rekordów KLIENT_NAZWA mam już opracowaną za pomocą pętli whlie i działa ale chce mieć nową procedurę, która będzie miała jeszcze jeden parametr (podany z ręki) WYJAZDY_ID, wprowadzała mi te rekordy KLIENT_NAZWA do tabeli mieszającej z podanym z ręki WYJAZD_ID
mój kod jest następujący:
CREATE PROCEDURE MIESZ_INSERT
@a int,
@b int,
@wyjazd_id int
AS
BEGIN
DECLARE @i int = @a
WHILE @i < @b
BEGIN
INSERT INTO KLIENT_TAB (KLIENT_NAZWA)
VALUES (@i)
INSERT INTO MIESZ_TAB (KLIENT_ID, WYJADY_ID)
SELECT KLIENT_ID
FROM KLIENT_TAB
WHERE KLIENT_NAZWA = @i
*
SET @i = @i + 1
END
END
I w miejscu gdzie jest * chcę podać parametr WYJAZDY_ID ale sql pod żadną postacią nie chce mi tego przyjąć...
i tu leży mój problem. Czy da się w ogóle jednocześnie wywołać insert select i dodatkowo dopisać mu paramert z ręki?
Z góry dzięki za pomoc.