Я хотел сделать что-то похожее, поэтому, хотя это и устарело, я решил опубликовать ответ для всех, кто ищет.
Я не смог найти способ запуска хранимых процедур через нотацию «...», но это прекрасно работает
Вот простой сохраненный процесс в MySQL для обновления поля штрих-кода для записи в тестовой таблице базы данных xxx с учетом идентификатора:
РАЗДЕЛИТЕЛЬ $$
ПРОЦЕДУРА КАДРА, ЕСЛИ СУЩЕСТВУЕТ
xxx
. STP_products_Update_barcode
$$
CREATE DEFINER = root
@ localhost
ПРОЦЕДУРА
xxx
. STP_products_Update_barcode
(В
xid INT, в xbarcode varchar (25) НАЧАТЬ
ОБНОВЛЕНИЕ теста SET barcode = xbarcode
ГДЕ id = xid; КОНЕЦ $$
РАЗДЕЛИТЕЛЬ;
и это процедура в SQL Server для его запуска (у меня обычно есть блоки TRY CATCH и другие сообщения об ошибках, но я оставил это для ясности. Обратите внимание, что MYSQL_XXX является связанным сервером, который был настроен с SQL Server на MySQL :
СОЗДАНИЕ ПРОЦЕДУРЫ
[DBO]. [STP_XXX_MySQLBarcode_Update]
@ product_id int, @barcode varchar (20)
КАК НАЧАТЬ УСТАНАВЛИВАЕТСЯ ОБЪЯВЛЕНИЕ @SQL
NVARCHAR (1000)
SET @SQL = 'CALL
STP_products_Update_barcode(' +
CAST(@Product_id as varchar) + ','''+
@barcode +''')' EXEC (@SQL) AT
MYSQL_XXX SET NOCOUNT OFF END GO
Здесь нет привычки форматировать код, и я немного тороплюсь, но вы поняли ...