简体   繁体   English

MySQL程序插入临时表

[英]Mysql procedure insert into temporary table

I have written a mysql procedure. 我写了一个mysql程序。 I want into a temporary table using different select statement. 我想使用不同的select语句进入临时表。 While creating procedure its showing syntax error near at ' 创建程序时,其在'附近的显示语法错误

SELECT
    value as last
FROM
    wp_13_rg_lead
    LEFT JOIN wp_13_rg_' at line 18 

Below is my procedure 下面是我的程序

DELIMITER $$ 

CREATE  PROCEDURE TEMP_JOIN_WORK () 

BEGIN 

start transaction; 



    CREATE TEMPORARY TABLE IF NOT EXISTS TEMP_JOIN(firstname varchar(500)     not null,lastname varchar(500) not null) ;

    insert into TEMP_JOIN(SELECT 
        value
    FROM 
        wp_13_rg_lead 
        LEFT JOIN wp_13_rg_lead_detail on wp_13_rg_lead.id = wp_13_rg_lead_detail.lead_id 
    WHERE 
        wp_13_rg_lead.form_id = 9 
        AND CAST(wp_13_rg_lead_detail.field_number AS DECIMAL) = CAST(1.3 AS DECIMAL) , 
    SELECT 
        value as lastname
    FROM 
        wp_13_rg_lead 
        LEFT JOIN wp_13_rg_lead_detail on wp_13_rg_lead.id = wp_13_rg_lead_detail.lead_id 
    WHERE 
        wp_13_rg_lead.form_id = 9 
        AND CAST(wp_13_rg_lead_detail.field_number AS DECIMAL) = CAST(1.6 AS DECIMAL)

     );

    SELECT * FROM TEMP_JOIN; 



    commit; 

    END 

    $$ 

    DELIMITER;

This should not give syntax error. 这不应引起语法错误。 In workbench, click on create stored procedure and copy the following between BEGIN END. 在工作台中,单击创建存储过程,然后在BEGIN END之间复制以下内容。 Logic will work or not, that is a separate issue. 逻辑是否有效,这是一个单独的问题。

CREATE TEMPORARY TABLE IF NOT EXISTS TEMP_JOIN(firstname VARCHAR(500)     NOT NULL,lastname VARCHAR(500) NOT NULL) ;

    INSERT INTO TEMP_JOIN VALUES((SELECT 
        `value`
    FROM 
        wp_13_rg_lead 
        LEFT JOIN wp_13_rg_lead_detail ON wp_13_rg_lead.id = wp_13_rg_lead_detail.lead_id 
    WHERE 
        wp_13_rg_lead.form_id = 9 
        AND CAST(wp_13_rg_lead_detail.field_number AS DECIMAL) = CAST(1.3 AS DECIMAL)) , (
    SELECT 
        `value` AS lastname
    FROM 
        wp_13_rg_lead 
        LEFT JOIN wp_13_rg_lead_detail ON wp_13_rg_lead.id = wp_13_rg_lead_detail.lead_id 
    WHERE 
        wp_13_rg_lead.form_id = 9 
        AND CAST(wp_13_rg_lead_detail.field_number AS DECIMAL) = CAST(1.6 AS DECIMAL))

     );

    SELECT * FROM TEMP_JOIN; 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM