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%‘ 

原文地址:https://www.cnblogs.com/jiuya/p/10441020.html

时间: 2024-10-03 18:17:07

SQL insert into select 语句的相关文章

[22]SQL INSERT INTO SELECT 语句

[22]SQL INSERT INTO SELECT 语句 INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中.目标表中任何已存在的行都不会受影响. SQL INSERT INTO SELECT 语法 我们可以从一个表中复制所有的列插入到另一个已存在的表中: INSERT INTO table2 SELECT * FROM table1; 或者我们可以只复制希望的列插入到另一个已存在的表中: INSERT INTO table2 (column_name

sql insert into select语句写法-将查询结果直接插入到表中

insert into month_gpcj_info(idStr,zszrmygpsl,xyzrmygpsl,mycje,mycjl,month_date,dataCompiledDate) select UUID() idstr, max(m.GPGSZSZhuanRangShu) zszrmygpsl,max(m.GPGSXYZhuanRangShu) xyzrmygpsl, sum(m.CJHeJiJinE) mycje,sum(m.RJCJGPHeJi) mycjl ,'201501'

【SQL】INSERT INTO SELECT语句与SELECT INTO FROM语句

INSERT INTO SELECT语句与SELECT INTO FROM语句,都是将一个结果集插入到一个表中: #INSERT INTO SELECT语句 1.语法形式: Insert into Table2(field1,field2,…) select value1,value2,… from Table1 或 Insert into Table2 select * from Table1 2.限定条件: (1)Table2必须存在,并且字段field,field2…也必须存在: (2)如

SQL 基础:Select语句,各种join,union用法

一.基本的SELECT语句 1. “*”的注意事项:在SELECT语句中,用*来选取所有的列,这是一个应该抵制的习惯. 虽然节省了输入列名的时间,但是也意味着获得的数据比真正需要的数据多的多.相应的,也会降低应用程序的性能及网络性能. 良好的规则是只选所需. 2. join子句 join是用来定义如何从多个表中选取数据并组合成一个结果集. join必需是因为(1)我们所要获取的所有信息并不都在一个表中,或者(2)所要返回的信息都在一个表中,但是其上设置的条件信息却在另一个表中. join的共同点

INSERT INTO SELECT 语句

INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中.目标表中任何已存在的行都不会受影响. INSERT INTO SELECT 语法 我们可以从一个表中复制所有的列插入到另一个已存在的表中: INSERT INTO table2 SELECT * FROM table1; 或者我们可以只复制希望的列插入到另一个已存在的表中: INSERT INTO table2 (column_name(s)) SELECT column_name(s) FROM ta

SQL Server数据库培训(SQL篇)----Select语句构成元素

1.             Select语句构成元素 1.1          Select * 避免使用select * 当你想在SELECT子句中列出所有的COLUMN时,使用动态SQL列引用 '*' 是一个方便的方法.不幸的是,这是一个非常低效的方法. 实际上,SQL在解析的过程中, 会将'*' 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间. 1.2          Select语句中元素的执行顺序 为了描述逻辑查询处理和各种SELECT查询子句

25. SQL -- TSQL(SELECT语句的使用,子查询,连接,通配符 )(1)

SELECT语句的使用 select 语句: ○5 SELECT select_list ○1 FROM table_source ○2 [ WHERE search_condition ] ○3 [ GROUP BY group_by_expression] ○4 [ HAVING search_condition ] ○6 [ ORDER BY order_expresion [ASC |DESC ] ] SELECT语句执行顺序: A.FROM阶段 B.WHERE阶段 C.GROUPBY阶

SQL指南-SELECT语句

SELECT 语句 SELECT 语句用于从表中筛选数据.列表结果存储于一个结果表中(称作result-set) 语法 SELECT column_name(s)FROM table_name 注意:SELECT 声明不区分大小写.SELECT和select是一样的. -------------------------------------------------------------------------------- SQL SELECT 示例 如下所示用一条SELECT语句从名为 "

SQL基础语法—select语句

1 select语句介绍 select语句是值从现存的一个或多个表中查看满足条件的数据,其基本语法如下: Syntax: SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] select_expr [