0

MySQL で置換関数をストアド プロシージャまたは関数として変換するにはどうすればよいですか?

簡単な更新スクリプトを次に示します。

mysql> UPDATE content SET url = REPLACE (url, 'testsite', 'livesite') WHERE URL LIKE '%testsite%';

これを保存し、クエリを介してこの関数を実行できるようにしたいと考えています。

私の目標は、次のようなことです。

CALL myupdatefunction ('testsite', 'livesite', @url);

これは私がこれまでに試したことです:

DELIMITER //
CREATE PROCEDURE updateURL(OUT url1, OUT url2)
BEGIN 
   UPDATE content SET url = REPLACE (url, url1, url2) WHERE URL LIKE url1;
END //
DELIMITER ;

そしてCALLへ

CALL updateURL('stringOld','stringNew');

これが正しいアプローチかどうかわかりませんか?

4

1 に答える 1