SQL insert into select 语句

Posted 九涯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL insert into select 语句相关的知识,希望对你有一定的参考价值。

遇到权限数据变更的需要批量到别的平台, 在175平台添加一个权限需要, 批量到别的现有平台, 以后的建站, 会把sql放到自动建站里面;

权限的 insert into select 

  表一: `ouser`.`u_function`   权限表

  表二: misc.gxej_company    平台表

  sql:

  

    
INSERT INTO `ouser`.`u_function` (
    `code`,
    `parent_code`,
    `product_type`,
    `type`,
    `domain`,
    `path`,
    `name`,
    `desc_`,
    `level`,
    `target`,
    `icon`,
    `sort_value`,
    `is_available`,
    `is_deleted`,
    `version_no`,
    `create_userid`,
    `create_username`,
    `create_userip`,
    `create_usermac`,
    `create_time_db`,
    `server_ip`,
    `update_userid`,
    `update_username`,
    `update_userip`,
    `update_usermac`,
    `update_time_db`,
    `client_versionno`,
    `company_id`,
    `platform_id`
) SELECT
    307788,
    3077,
    NULL,
    1,
    /back-finance-web,
    /#/stmMerchantSoStatementListOld/2,
    商家销售结算单旧,
    NULL,
    2,
    NULL,
    NULL,
    99,
    NULL,
    0,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,

    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    c.id,
    2
FROM
    misc.gxej_company c where c.id != 175;  #去掉175平台

  

角色的insert into select  

  涉及到左连接:

    insert into ... select ... where ... join语法 例子

insert into T2(c1, c2, c3)
select
t1.c1,
t1.c2,
t1.c3
from T1 t1
where
t1.c2 = ‘y‘
left join T3 t3 on t1.c1 = t3.c1
left join T4 t4 on t1.c1 = t4.c1;

  

  权限关联表 : u_role_function

  角色表: u_role 

  权限表:  u_function 

  注意: on 条件生产临时表

INSERT INTO `ouser`.`u_role_function` (
    
    `role_id`,
    `function_id`,
    `is_available`,
    `is_deleted`,
    `version_no`,
    `create_userid`,
    `create_username`,
    `create_userip`,
    `create_usermac`,
    `create_time`,
    `create_time_db`,
    `server_ip`,
    `update_userid`,
    `update_username`,
    `update_userip`,
    `update_usermac`,
    `update_time_db`,
    `client_versionno`,
    `company_id`
)
SELECT
        r.id,
        f.id,
        NULL,
        ‘0‘,
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        r.company_id
    FROM ouser.u_role r LEFT JOIN ouser.u_function f on r.company_id = f.company_id  where r.code =‘merchant_role_code_enter_type_1‘  and f.code LIKE ‘%307788%‘ 

 

以上是关于SQL insert into select 语句的主要内容,如果未能解决你的问题,请参考以下文章

SQL insert into select 语句

[22]SQL INSERT INTO SELECT 语句

SELECT INTO 和 INSERT INTO SELECT 两种表复制语句

Oracle中insert into select和select into的区别

access SQL语句中 insert into

SELECT INTO 和 INSERT INTO SELECT 两种表复制语句