powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Из MS SQL в MySQL
13 сообщений из 13, страница 1 из 1
Из MS SQL в MySQL
    #38956122
bogik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!
Встал насущный вопрос по переводу действующей программы с хранением на MS SQL на MySQL.
Поковыряв интернет, удалось загрузить таблицы, обратиться к БД и прочитать. Но возникают проблемы с insert'ом и update'ом (некоторыми) и переносом хранимок. Отсюда три вопроса:
1. Чем можно отслеживать какие запросы не отрабатываются и в чем ошибки? (в MS SQL это делал при помощи профайлера, тут попробовал dbForge, но он отслеживает только свои запросы)
2. Есть хранимка:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
CREATE PROCEDURE dbo.sp_counters_up 
     @param char(10)
 AS
if @param='elem'
update counters set uzel=uzel+1

if @param='konstr'
update counters set konstr=konstr+1

if @param='s_item'
update counters set specitem=specitem+1

if @param='sp_spec'
update counters set sp_spec=sp_spec+1


select * from counters
GO


Попробовал её переделать под mySQL:

Код: sql
1.
2.
3.
4.
5.
6.
CREATE DEFINER = 'root'@'localhost'
PROCEDURE tehbase.sp_test_select( IN param char (10))
  if param='elem' THEN
update counters set uzel=uzel+1;
  end IF;
select * from counters;



Что не так с конструкцией IF..THEN..ELSE??

3. И третий вопрос: в MS SQL результатом выполнения хранимки идет таблица, нигде в описаловках про MySQL такого не нашел, возможно ли вернуть таблицу из хранимки?

Если где то уже есть более менее развернутые ответы на мои вопросы - прошу указывать ссылку, т.к. я ничего не нашел.
P.S. Сама программа написана на Visual FoxPro 7.0
...
Рейтинг: 0 / 0
Из MS SQL в MySQL
    #38956129
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bogikЧем можно отслеживать какие запросы не отрабатываются и в чем ошибки?В первую очередь обработкой ошибок в приложении.
Еще можно посмотреть на логи и, возможно, MySQL Proxy .

bogikЧто не так с конструкцией IF..THEN..ELSE??А что с ней не так?
На первый взгляд ошибки не вижу.

bogikвозможно ли вернуть таблицу из хранимки?Только если хранимка вызывается из клиента. Если из другой хранимки или SQL-запроса, то уже нет.

bogikпрошу указывать ссылку, т.к. я ничего не нашел.На всякий случай - у MySQL весьма неплохая официальная документация .
...
Рейтинг: 0 / 0
Из MS SQL в MySQL
    #38956152
bogik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ссылки, попробую.
а вот по поводу конструкции - я тоже ошибок не вижу, но тем не менее ругается на синтаксическую ошибку и предлагает искать вручную.(если получится приложу текст)
...
Рейтинг: 0 / 0
Из MS SQL в MySQL
    #38956160
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bogik,

Что-то не так с вашей ошибкой. Она ругается на двойную кавычку, а ее нет в показанном коде.
Попробуйте создать эту процедуру в консольном клиенте mysql.
...
Рейтинг: 0 / 0
Из MS SQL в MySQL
    #38956171
bogik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Увы, та же беда.
...
Рейтинг: 0 / 0
Из MS SQL в MySQL
    #38956177
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bogikУвы, та же беда.Совсем не та же.
Тут все понятно. Как минимум, нужен BEGIN/END и DELIMITER. См. CREATE PROCEDURE and CREATE FUNCTION Syntax .

Нужен ли DELIMITER в вашем GUI-клиенте - понятия не имею, попробуйте или смотрите в его доке.
BEGIN/END нужен в любром случае, т.к. в процедуре более одного оператора.
...
Рейтинг: 0 / 0
Из MS SQL в MySQL
    #38956223
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bogik2. Есть хранимка:
...
Попробовал её переделать под mySQL:

Если ты ГАРАНТИРУЕШЬ, что, кроме указанных значений, не будешь передавать процедуре никакую постороннюю хню - используй prepared statement.

Хотя мне лично обновление ВСЕХ записей таблицы не сказать чтобы нравится...
...
Рейтинг: 0 / 0
Из MS SQL в MySQL
    #38956234
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaЕсли ты ГАРАНТИРУЕШЬ, что, кроме указанных значений, не будешь передавать процедуре никакую постороннюю хню - используй prepared statement.А смысл?
Зачем завязываться на такую гарантию, если от этого нет пользы?
AkinaХотя мне лично обновление ВСЕХ записей таблицы не сказать чтобы нравится...Как я понял, это просто тестовые эксперименты по освоению синтаксиса, так что пока не страшно.
...
Рейтинг: 0 / 0
Из MS SQL в MySQL
    #38956254
bogik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Итак, процедурку создать удалось, как оказалось в консоли не хватало delimiter, а в GUI просто BEGIN/END не хватало. Cпасибо за подсказку, теперь остается вопрос как их увязать с фоксом, ибо возврат переменной не понимает фокс, возврат таблицы не хочет делать MySQL
...
Рейтинг: 0 / 0
Из MS SQL в MySQL
    #38956284
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bogikвозврат таблицы не хочет делать MySQLПочему не хочет?
Если процедура вызывается непосредственно с клиента, то должно работать, по идее.
...
Рейтинг: 0 / 0
Из MS SQL в MySQL
    #38956308
bogik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По факту и работает, но выдает такую ошибку. хотя курсор появляется и со свежими результатами.
...
Рейтинг: 0 / 0
Из MS SQL в MySQL
    #38956312
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bogikкурсор появляется и со свежими результатами. Т.е. реально данные читаются, а мешает только сообщение об ошибке? Может, его как-то можно заглушить или обработать самостоятельно?
...
Рейтинг: 0 / 0
Из MS SQL в MySQL
    #38956332
bogik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
именно это сейчас и пытаюсь сделать. Хотя даже переменной с кодом ошибки не существует. Первый раз с таким столкнулся. Возможно это надо спрашивать уже на Фоксовом форуме
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Из MS SQL в MySQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]