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ć?
CREATE PROCEDURE proc(IN z CHAR(1))
Chodzi mi o to CHAR(1). Np. Mam taką małą procedurę:
DELIMITER // CREATE PROCEDURE `proc01` (IN user_id int(1)) BEGIN SELECT * FROM users WHERE id = user_id; END; // 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?