Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将简单的postgreSQL函数转换为Mysql_Mysql_Sql_Database_Linux_Postgresql - Fatal编程技术网

将简单的postgreSQL函数转换为Mysql

将简单的postgreSQL函数转换为Mysql,mysql,sql,database,linux,postgresql,Mysql,Sql,Database,Linux,Postgresql,我想知道我是否能得到一些帮助。我在Postgresql中有以下函数,该函数旨在为我提供一个“solrid”值,而不必每次都将其存储在数据库中,基本上是通过在值的开头添加一个“a”来工作的 -- Setup Solrid Function CREATE OR REPLACE FUNCTION solrid(IN local_id INTEGER, OUT result TEXT) AS $$ DECLARE database_id TEXT := 'A'; BEGIN result

我想知道我是否能得到一些帮助。我在Postgresql中有以下函数,该函数旨在为我提供一个“solrid”值,而不必每次都将其存储在数据库中,基本上是通过在值的开头添加一个“a”来工作的

-- Setup Solrid Function
CREATE OR REPLACE FUNCTION solrid(IN local_id INTEGER, OUT result TEXT) AS $$
DECLARE
    database_id TEXT := 'A';
BEGIN
    result := database_id || local_id::TEXT;
END;
 $$ LANGUAGE PLPGSQL;

我现在必须将数据库移动到MySql,我想知道是否有人可以告诉我如何将此函数转换为MySql。

以下是MySql中的相同函数:

DELIMITER //

DROP FUNCTION IF EXISTS solrid //

CREATE FUNCTION solrid(local_id INTEGER) RETURNS TEXT
BEGIN
  DECLARE database_id TEXT;
  SET database_id = 'A';
  RETURN CONCAT(database_id, CAST(local_id AS CHAR));
END //

DELIMITER ;

您能提供示例输入和预期结果吗?仅供参考,这不需要用PL/PgSQL编写,简单的SQL函数将是
CREATE或REPLACE函数solrid(integer)返回文本为$$SELECT'A'| |$1;$$SQL语言
。这将要快得多,而且经常可以内联。这是一种将我的工作表“id”放入solr_id的方法,而不必存储solr_id。工作“id”可能是123,solr_id可能是123。Craig你能添加这个作为答案吗?@CraigRinger,你能解释一下它在哪里引用了初始id吗?一、 表作业“id”在哪里?