Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [sql]instrukcja DELETE
beel
post 1.05.2007, 13:23:53
Post #1





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 20.04.2007

Ostrzeżenie: (0%)
-----


Jak usunąć dane o pracowniku z każdej tabeli?

Próbowałem tak:
Kod
DELETE FROM DaneOsobowe, Zarobki
WHERE DaneOsobowe.Id_do=Zarobki.Id_do AND imie='Marcin'


Z jednej tabeli nie ma problemu a z kilku .. ?
Go to the top of the page
+Quote Post
sobstel
post 1.05.2007, 13:48:01
Post #2





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


cos w tym stylu powinno zadzialac
  1. DELETE FROM DaneOsobowe, Zarobki USING DaneOsobowe, Zarobki WHERE DaneOsobowe.Id_do=Zarobki.Id_do AND imie='Marcin';


szczegolowo to jest omowione w dokumentacji - http://dev.mysql.com/doc/refman/5.0/en/delete.html


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
beel
post 1.05.2007, 19:09:01
Post #3





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 20.04.2007

Ostrzeżenie: (0%)
-----


Niestety nie pojdzie caly czas sie pluje o to samo:
Cytat
Incorrect syntax near ','.


Czyli pewnie o przecinek po pierwszym DaneOsobowe.

PS. Pracuje z baza MySQL Server '05

A jeszcze mam pytanie do forumowiczów, otóż w tersci zadania mam napisane:

Za pomocą wyzwalacza oprogramować usuwanie pracowników (z każdej tabeli informacje o danym uzytkowniku maja zostać usuniete).

Czyli powinienem to zrealizować za pomoca NEW TRIGGER a nie tak jak robie NEW QUERY ?

Wybaczcie za poziom pytania winksmiley.jpg

Ten post edytował beel 1.05.2007, 19:10:02
Go to the top of the page
+Quote Post
dr_bonzo
post 1.05.2007, 19:09:21
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Wyzwalacz to wlasnie triggger.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
beel
post 1.05.2007, 19:10:29
Post #5





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 20.04.2007

Ostrzeżenie: (0%)
-----


Treść zadania:
Za pomocą wyzwalacza oprogramować usuwanie pracowników (z każdej tabeli informacje o danym uzytkowniku maja zostać usuniete)

OK dzieki za rozjasnienie, tyle udalo mi sie zrobic:

  1. SET ANSI_NULLS ON
  2. SET QUOTED_IDENTIFIER ON
  3. go
  4.  
  5. CREATE TRIGGER [dbo].[tak_all]
  6. ON [dbo].[Zarobki]
  7. INSTEAD OF DELETE
  8.  
  9. AS BEGIN SET NOCOUNT ON;
  10. DELETE DaneOsobowe WHERE id_do=(SELECT id_do FROM deleted); DELETE Zarobki WHERE id_do=(SELECT id_do FROM deleted); END


Tylko, że mi to nie wywołuje zadnego dzialania, dalej obie tabele przechowuja te same dane ;(

PS. Mam usuwac info o wszytskich pracownikach czy o jakims danym np jednym tylko ?

TEMAT TEN MOZNA USUNAC PRZENIOSLEM SWOJE ZAPYTANIE DO DZIALU MSSQL SERVER

Ten post edytował beel 2.05.2007, 19:27:34
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 10:35