Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Почему не сработал TRY CATCH
 
 автор: oli   (24.12.2012 в 02:38)   письмо автору
 
 

DECLARE @NAME VARCHAR(10), @FIELD varchar(10), @YEAR DATE;
SET @NAME = 'Vasilii';
SET @FIELD = 'name_Z';
SET @YEAR = getdate();

BEGIN TRY;

SELECT @FIELD,id FROM Students WHERE @FIELD = @NAME
END TRY BEGIN CATCH
PRINT 'Error: ' + ERROR_MESSAGE();

END CATCH;


В таблице Students нет поля name_Z

  Ответить  
 
 автор: OLi   (24.12.2012 в 22:08)   письмо автору
 
   для: oli   (24.12.2012 в 02:38)
 

Неужели все на 0 с этим?

  Ответить  
 
 автор: cheops   (26.12.2012 в 22:00)   письмо автору
 
   для: oli   (24.12.2012 в 02:38)
 

А вы не можете так задать поле, у вас строка - она выведется как есть.

  Ответить  
 
 автор: OLi   (27.12.2012 в 02:23)   письмо автору
 
   для: cheops   (26.12.2012 в 22:00)
 

Не совсем вас правильно понял?!

  Ответить  
 
 автор: cheops   (27.12.2012 в 07:20)   письмо автору
 
   для: OLi   (27.12.2012 в 02:23)
 

У вас получается вот такой запрос
SELECT 'name_Z', id FROM Students WHERE 'name_Z' = 'Vasilii'
Попробуйте его выполнить без хранимой процедуры. Вы увидите, что он абсолютно корректный и возвращает 0 строк. Условие 'name_Z' = 'Vasilii' всегда false.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования