Хранимые процедуры

  • Автор темы Автор темы Lesha
  • Дата начала Дата начала

Lesha

Новичок
Привет всем!!! Хочу написать простую хранимую процедуру, которая выполняла функцию SELECT*FROM 'table_name'. Чтобы каждый раз не писать SELECT, а просто вызывать эту процедуру. Написал скрипт на MySQL вызываю выдает ошибку :

Error Code : 1436
Thread stack overrun: 6436 bytes used of a 131072 byte stack, and 128000 bytes needed. Use 'mysqld -O thread_stack=#' to specify a bigger stack.
Execution Time : 00:00:00:000
Transfer Time : 00:00:00:000
Total Time : 00:00:00:000

Вот скрипт ХП

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_baho`()
BEGIN
DECLARE b_matem INT;
DECLARE b_fizik INT;
DECLARE b_himik INT;
DECLARE b_biolog INT;
DECLARE b_istoria INT;
DECLARE b_yazik INT;

DECLARE Matem INT;
DECLARE Fizik INT;
DECLARE Biolog INT;
DECLARE Istoria INT;
DECLARE Yazik INT;

SELECT Matem, Fizik, Himik, Biolog, Istoria, Yazik INTO b_matem, b_fizik, b_himik, b_biolog, b_istoria, b_yazik FROM PrezLit.tblClassRu LIMIT 1;

END

sql_mode:

Это имена полей таблицы: Matem, Fizik, Himik, Biolog, Istoria, Yazik.
Это созданные переменные: b_matem, b_fizik, b_himik, b_biolog, b_istoria, b_yazik.
 
Ээм, а что есть в запросе SELECT Matem, Fizik, Himik, Biolog, Istoria, Yazik INTO b_matem, b_fizik, b_himik, b_biolog, b_istoria, b_yazik FROM PrezLit.tblClassRu LIMIT 1; ?

Ибо:

"[INTO {OUTFILE | DUMPFILE} 'file_name' export_options]"

з.ы. Да, я нуп :)
 
Этим запросом хотел присвоить значения полей переменным
 
Этим запросом хотел присвоить значения полей переменным
Ээээммм???
Так то просто SELECT'ом вы значения переменных из базы не получите, учите матчасть, батенька :)

з.ы. Т.е. получите канешно, но для вывода их надо будет обработать с помощью, например, mysql_fetch_array
 
$array_namecl = mysql_fetch_assoc(mysql_query("SELECT `name`,`surname` FROM `clients` WHERE `id` = ' " . $idcl . " ')) or die(mysql_error());

$name = $array_namecl['name'];
$surname = $array_namecl['surname'];

:)
 
а могу я получить эти данные не с помощью РНР, а просто в самом MySQL?
 
Канешно.
SELECT `Matem`, `Fizik`, `Himik`, `Biolog`, `Istoria`, `Yazik` FROM `PrezLit.tblClassRu` LIMIT 1;
 
а этот запрос можно использовать внутри хранимой процедуры MySQL?
 
Thread stack overrun: 6436 bytes used of a 131072 byte stack, and 128000 bytes needed. Use 'mysqld -O thread_stack=#' to specify a bigger stack.
Тут написано то, что написано, ваш скрипт тут не при чём. Напишите в конфиге mysql сервера
И начинайте думать над тем чтобы обновить mysql сервер.

Хранимая процедура по сути просто сохранённый на сервере кусок mysql кода, понятно что код этот может быть почти любой.
 
Тут написано то, что написано, ваш скрипт тут не при чём. Напишите в конфиге mysql сервера

И начинайте думать над тем чтобы обновить mysql сервер.

Хранимая процедура по сути просто сохранённый на сервере кусок mysql кода, понятно что код этот может быть почти любой.
ваши знания языка поражают! но вы не пробовали читать тему??
 
Сверху