zoukankan      html  css  js  c++  java
  • 绝对经典的表记录操作(超越版)

    ***一次性插入多条记录:
    table1表结构
    -----------
    id,name
    -----------
    同时插入多条记录:
    insert  into table1( id,name) values (1,'name1'),(2,'name2'),(3,'name3'),(4,'name4'),(5,'jname1');

    ///////////////////////////////////////////

    ***表与表之前的记录复制
    table2,table3
    -------------
    id,name
    -------------
    将表table2中的数据复制到表table3中:

    insert  into table3 select name from table2

    ///////////////////////////////////////////

    ***建立表并从一个表中复制数据

    create table mytable as select * from emp


    ///////////////////////////////////////////

    ***显示字段值占用百分比(绝对原创)

     SELECT id,name,((CASE WHEN NAME='jname1' THEN 1 ELSE 0 END)*0.1 + (CASE WHEN NAME='name1' THEN 1 ELSE 0 END)*0.1) AS a FROM mytable

    ///////////////////////////////////////////

    ***一个复杂的记录插入操作
    insert into T_EMPLOYEE_ROLE( employee_id,role_id, org_id )
          select empid,roleid,orgid from (    
                 select e.id empid,r.id roleid,o.id orgid   ,(
                                select count(*) from T_EMPLOYEE_ROLE where employee_id=e.id and role_id=r.id and org_id=o.id
                 ) ifExisted     
          from T_EMPLOYEE e,T_ROLE r,T_ORGANIZATION o    
          where e.id in (10001041,10001030,   111111111)  --员工id串    
                  and r.id in (3,1065,                22222222)   --角色id串    
                  and o.id in (10000000,10000002,     333333333)  --组织id串 ) t
    where ifExisted=0  --IFEXISTED=0的意思为:如果查出来的记录为0的话就插入,否则不作处理

  • 相关阅读:
    使用 C# .NET 在 ASP.NET 应用程序中实现基于窗体的身份验证
    高性能 Windows Socket 组件 HPSocket
    Linux下的C编程实战
    Scrum实践
    hadoop之NameNode,DataNode,Secondary NameNode
    代码抽象层次
    分布式统计的思考以及实现
    GCC起步
    学习 easyui 之一:easyloader 分析与使用
    从Prism中学习设计模式之MVVM 模式简述MVVM
  • 原文地址:https://www.cnblogs.com/cyjch/p/2376261.html
Copyright © 2011-2022 走看看