Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 3.08.2010 Ostrzeżenie: (0%)
|
Witam,
Proszę o pomoc w napisaniu procedury w Sql. Mam 4 tabele: 1. osoba z kolumnami - osoba_id - nazwisko - imie 2. oceny z kolumnami - ocena_id - ocena 3. Przedmioty z kolumnami - przedmiot_id - nazwa 4. osoby_oceny z kolumnami Wpisy w tej tabeli są wpisami łączącymi 3 powyższe tabele czyli (osoba_id, przedmiot_id, ocena_id) Chciałbym napisać procedurę która wstawiałaby mi te dane do tabeli sprawdzając wpisane w wywołaniu dane (nazwisko, nazwa przedmiotu, ocena) w poszczególnych tabelach i po sprawdzeniu ich istnienia do tabeli nr 4 wprowadziłaby wartości id tych parametrów. Przykład wywołania: Exec wstaw_ocene (Kowalski, Matematyka, 2,5) Z góry serdecznie dziękuję za odpowiedzi. Pozdrawiam |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 3.08.2010 Ostrzeżenie: (0%)
|
Witam,
Poniżej umieszczam to co udało mi się napisać: Na poniższym przykładzie chcę na razie umieścić osoba_id w tabeli. Domyślam się, że umieszczenie przedmiot_id i ocena_id będzie wyglądało tak samo. CREATE PROCEDURE wstaw_ocene @nazwisko VARCHAR(30), @imie CHAR(15) AS DECLARE @osoba_id INT BEGIN IF NOT EXISTS (SELECT 1 FROM osoba WHERE nazwisko = @nazwisko AND imie = @imie) PRINT 'W bazie nie istnieje osoba o takich danych' ELSE --nie wiem jak tutaj pobrać osoba_id pracownika z wywołania oraz jak wstawić je do tabeli osoby_oceny SELECT @osoba_id from osoba INSERT INTO osoby_oceny (osoba_id) VALUES (@osoba_id) END; --exec wstaw_ocene 'Nowak', 'Jan' |
|
|
|
Post
#3
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
Poniżej umieszczam to co udało mi się napisać: No i od razu lepiej. Co do Twojego pytania: Cytat --nie wiem jak tutaj pobrać osoba_id pracownika z wywołania oraz jak wstawić je do tabeli osoby_oceny Polecałbym utworzyć zmienną wewnątrz procedury (np. user_id), do której przypiszesz ID użytkownika na podstawie imienia i nazwiska. Przydatna do tego będzie pewnie* konstrukcja SELECT INTO (chyba, że MS SQL Server umożliwia inne przypisanie wartości do zmiennej). * bo nie korzystam z MS SQL Server (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
|
miszka_p Procedura Sql 3.08.2010, 12:29:25
erix Pomoc w napisaniu, czy napisanie?
Pokaż swoje pró... 3.08.2010, 13:43:05
miszka_p Witam,
Rzeczywiście trochę źle sformułowałem pier... 3.08.2010, 15:23:30
erix CytatPokaż swoje próby. 3.08.2010, 15:27:47 
miszka_p Cytat(phpion @ 3.08.2010, 22:56:43 ) ... 5.08.2010, 14:11:04
prachwal [SQL] pobierz, plaintext declare @zmienna nvarchar... 5.08.2010, 20:18:56
miszka_p Serdecznie dziękuję za pomoc.
Chciałbym jednak j... 6.08.2010, 08:54:52
prachwal ISNULL(@zmienna,'wartość w przypadku gdzy @zmi... 6.08.2010, 13:19:48
miszka_p Cytat(prachwal @ 6.08.2010, 14:19:48 ... 9.08.2010, 21:15:45 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 17:35 |