Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Procedury składowe - typy parametrów, Po co?
spokoloko123
post
Post #1





Grupa: Zarejestrowani
Postów: 114
Pomógł: 12
Dołączył: 15.02.2012

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


Witam,

Zastanawiam się po co definiuje się typ parametrów dla funkcji i procedur składowych. Mógłby ktoś to po krótce wyjaśnić?
  1. CREATE PROCEDURE proc(IN z CHAR(1))

Chodzi mi o to CHAR(1). Np. Mam taką małą procedurę:
  1. DELIMITER //
  2. CREATE PROCEDURE `proc01` (IN user_id int(1))
  3. BEGIN
  4. SELECT * FROM users WHERE id = user_id;
  5. END;
  6. // DELIMITER ;

Mogę jeśli wywołam je z parametrem 1 to zwróci mi usera z id 1 ale jak wywołam np z parametrem 'foobar' to zwraca pusty wynik ale nie pokazuje błędu, więc po co ta deklaracja typu?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
IceManSpy
post
Post #2





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

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


Nigdy nie zagłębiałem się w procedury i jak działają, ale wnioskując po innych językach programowania (tzn takimi z typem zmiennych), to robi się to po to, że jak oczekujesz np bool, to żeby nikt nie wywołał procedury z intem, który wynosi np. 2.

Z resztą sam sobie chyba wytłumaczyłeś przykładem z 1 i 'foobar' - jedynka przeszła, a foobar już nie.

Ten post edytował IceManSpy 7.08.2012, 11:23:05
Go to the top of the page
+Quote Post
spokoloko123
post
Post #3





Grupa: Zarejestrowani
Postów: 114
Pomógł: 12
Dołączył: 15.02.2012

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


Cytat(IceManSpy @ 7.08.2012, 12:22:01 ) *
Nigdy nie zagłębiałem się w procedury i jak działają, ale wnioskując po innych językach programowania (tzn takimi z typem zmiennych), to robi się to po to, że jak oczekujesz np bool, to żeby nikt nie wywołał procedury z intem, który wynosi np. 2.

Z resztą sam sobie chyba wytłumaczyłeś przykładem z 1 i 'foobar' - jedynka przeszła, a foobar już nie.


No właśnie foobar przeszedł, a nie zwrócił rekordów w zasobie, bo naturalnie nie ma usera o id 'foobar'
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 26.12.2025 - 17:49