Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Такая хранимая процедура будет работать? 
:(
    Опции темы
vlad275
Дата 8.10.2009, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 485
Регистрация: 20.3.2008

Репутация: нет
Всего: -3



Код

DELIMITER $$

DROP PROCEDURE IF EXISTS `p4` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `p4`(OUT intID, OUT varcharStatus, OUT varcharName)
BEGIN

DECLARE intID INT;
DECLARE varcharStatus, varcharName VARCHAR;
SELECT * INTO intID, varcharStatus, varcharName FROM `tCandidates`;
RETURN intID, varcharStatus, varcharName;
END

DELIMITER ;



Код

mysql_query('CALL p4()');
$res=mysql_query('SELECT @a');


Это сообщение отредактировал(а) vlad275 - 8.10.2009, 12:18


--------------------
Кто, как и зачем запустил этот механизм уничтожения России:
http://rutube.ru/tracks/54915.html?v=e74a9...c7e5d24da5656d8
PM MAIL   Вверх
youri
Дата 8.10.2009, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: нет
Всего: 16



а почему бы не попробовать перед тем как на форум постить? ;)
PM   Вверх
vlad275
Дата 8.10.2009, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 485
Регистрация: 20.3.2008

Репутация: нет
Всего: -3



Я пробовал. Она не сохраняется. Не могу найти ошибку

Цитата

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' OUT varcharStatus, OUT varcharName)
BEGIN
  DECLARE intID INT;
  DECLARE var' at line 1


Это сообщение отредактировал(а) vlad275 - 8.10.2009, 12:33


--------------------
Кто, как и зачем запустил этот механизм уничтожения России:
http://rutube.ru/tracks/54915.html?v=e74a9...c7e5d24da5656d8
PM MAIL   Вверх
youri
Дата 8.10.2009, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: нет
Всего: 16



так так и надо было вопрос задать. А теперь смотрим синтаксис
PM   Вверх
vlad275
Дата 8.10.2009, 13:03 (ссылка)   | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 485
Регистрация: 20.3.2008

Репутация: нет
Всего: -3



Смотрю синтаксис. Слишком много букв.
А в чем ошибка то?

Добавлено @ 13:05
Код

DELIMITER $$

DROP PROCEDURE IF EXISTS `p4` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `p4`(OUT intID INT, OUT varcharStatus VARCHAR, OUT varcharName VARCHAR)
BEGIN
  DECLARE intID INT;
  DECLARE varcharStatus, varcharName VARCHAR;
  SELECT * INTO intID, varcharStatus, varcharName FROM `tCandidates`;
  RETURN intID, varcharStatus, varcharName;
END

DELIMITER ;



Подправил но ошибка осталась

Это сообщение отредактировал(а) vlad275 - 8.10.2009, 13:06


--------------------
Кто, как и зачем запустил этот механизм уничтожения России:
http://rutube.ru/tracks/54915.html?v=e74a9...c7e5d24da5656d8
PM MAIL   Вверх
vlad275
Дата 8.10.2009, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 485
Регистрация: 20.3.2008

Репутация: нет
Всего: -3



Не могу найти ошибку. Так тоже не работает:

Код

DELIMITER $$
DROP PROCEDURE IF EXISTS `variantdialog_99k_db1`.`p4` $$
CREATE PROCEDURE `variantdialog_99k_db1`.`p4` (OUT intID INT, OUT varcharStatus VARCHAR)
BEGIN
  #DECLARE intID INT;
#  DECLARE varcharStatus, varcharName VARCHAR;
  SELECT intID, varcharStatus INTO intID,v archarStatus FROM t;
END $$
DELIMITER ;


Ошибка:

Цитата

Script line: 4    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')
BEGIN
  #DECLARE intID INT;
#  DECLARE varcharStatus, varcharName VARCHAR;
' at line 1



--------------------
Кто, как и зачем запустил этот механизм уничтожения России:
http://rutube.ru/tracks/54915.html?v=e74a9...c7e5d24da5656d8
PM MAIL   Вверх
mark2009
Дата 12.10.2009, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 12.10.2009

Репутация: нет
Всего: 1



У меня всё работает в первоначальном виде. 
PM MAIL WWW ICQ Skype   Вверх
youri
Дата 14.10.2009, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: нет
Всего: 16



Код

CREATE
    [DEFINER = { user | CURRENT_USER }]
    PROCEDURE sp_name ([proc_parameter[,...]])
    [characteristic ...] routine_body

CREATE
    [DEFINER = { user | CURRENT_USER }]
    FUNCTION sp_name ([func_parameter[,...]])
    RETURNS type
    [characteristic ...] routine_body

proc_parameter:
    [ IN | OUT | INOUT ] param_name type

func_parameter:
    param_name type

type:
    Any valid MySQL data type

characteristic:
    LANGUAGE SQL
  | [NOT] DETERMINISTIC
  | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
  | SQL SECURITY { DEFINER | INVOKER }
  | COMMENT 'string'

routine_body:
    Valid SQL procedure statement

это много букв? Там еще каринк... в смысле примеры есть ;)
продолжаем смотреть синтаксис
PM   Вверх
vlad275
Дата 15.10.2009, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 485
Регистрация: 20.3.2008

Репутация: нет
Всего: -3



Понял. Переменный хранимой процедуры не должны совпадать с названиями полей таблицы. После VARCHAR добавить (255)


--------------------
Кто, как и зачем запустил этот механизм уничтожения России:
http://rutube.ru/tracks/54915.html?v=e74a9...c7e5d24da5656d8
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0896 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.