精华内容
下载资源
问答
  • 结构语句、系统任务、函数语句和显示系统任务
  • 第6章FPGA结构语句、系统任务、函数语句和显示系统任务
  • 想让MYSQL里面的jpzh表里面的isstaus在晚上00定时更新 那个大侠 写下SQL语句
  • 边学边做教程 信息工程学院 第三章 Java程序的流程控制 3.1java语句和程序结构有多少种(视频31) 3.2顺序程序设计(视频32) 3.3分支程序设计(视频33) 3.4循环程序设计(视频34) 任务6循环程序及java循环设计语句使用...
  • 要在phpmyadmin中给mysql添加定时任务 1、首先查看计划事件是否开启: 在phpmyadmin的SQL查询框中填入“show variables like '%scheduler%';”并执行 当显示event_scheduler的“Value”为“ON”时,表示计划事件...

    要在phpmyadmin中给mysql添加定时任务

    1、首先查看计划事件是否开启:

    phpmyadminSQL查询框中填入“show variables like '%scheduler%';”并执行

    当显示event_scheduler的“Value”为“ON”时,表示计划事件已开启;

    当显示event_scheduler的“Value”为“OFF”时,表示计划事件未开启。

    2、如果计划事件未开启,可按以下操作开启:

    到mysql配置文件my.cnf新增一项,在mysqld后面添加event_scheduler = on(或是event_scheduler = 1),保存后重启mysql服务器即可。

    在phpmyadmin的“事件”功能里,“事件计划状态”显示为“开”即计划事件已正常开启。

    3、添加定时任务

    在phpmyadmin的“事件”功能里,点击“新建”下的“添加事件”

    根据弹窗填写表格

    如:每1小时检查wordpress的阅读量是否在10以上,不在则随机修改为10~100。

     

    其中状态

    “ENABLED”为“启用”

    “DISABLED”为“不启用”

    “SLAVESIDE_DISABLED“为“在从库上不启用该事件“

    事件类型

    "RECURRING"为“循环执行”

    "ONE TIME"为“只执行一次”

    运行周期即根据需要选择执行的周期时间

    起始时间即开始执行的时间

    终止时间即结束时间,留空表示一直执行下去

    定义即执行的SQL语句

    用户按"数据库用户名@数据库地址"的格式填写

    最后点击"执行"即创建定时任务完成。

    展开全文
  • 任务编辑器--学习sql语句的简单工具 任务编辑器--学习sql语句的简单工具
  • 用友U8清除站点异常任务SQL语句

    千次阅读 2018-07-24 09:56:10
    清除站点异常任务 use ufsystem delete from ua_task where ctaskid in(select ctaskid from ua_tasklog where taskstate='-1') use ufsystem DELETE FROM UA_TaskLog WHERE taskstate = '-1'

    清除站点异常任务

    use ufsystem delete from ua_task where ctaskid in(select ctaskid from ua_tasklog where taskstate='-1')

    use ufsystem DELETE FROM UA_TaskLog  WHERE taskstate = '-1'

    展开全文
  • FPGA学习笔记(四)————Verilog HDL条件语句与循环语句 文章目录FPGA学习笔记(四)————Verilog HDL条件语句与循环语句1.if--else语句2.case语句3.forever语句4.repeat语句5.while语句6.for语句7.disable语句 1....

    FPGA学习笔记(四)————Verilog HDL条件语句与循环语句

    1.if–else语句

    • 其格式与C语言中的if–else语句类似,使用方法有以下3种:

      //形式1:只有if的形式
      if(表达式)  语句1;
      if(表达式)
          begin
              表达式1;
          end
      //形式2:if--else形式
      if(表达式)
          语句或语句块1;
      else
          语句或语句块2;
      //形式3:if--else嵌套形式
      if ( 表达式1)    语句1;     
      else if ( 表达式2 )  语句2;
      else if ( 表达式3 )  语句3;
      ........
      else if ( 表达式m )  语句m;
      else               语句n;
      //例如:
      if ( a > b )      out = int1;
      else if ( a == b)  out1= int2;
      else           out1 = int3; 
      
      
    • 表达式:一般为逻辑表达式或关系表达式,也可能是一位的变量。

    • 系统对表达式的值进行判断,若为0,x,z,按“假”处理;若为1,按“真”处理,执行指定语句。

    • 语句可是单句,也可是多句,多句时用“begin - end”语句括起来。对于if语句的嵌套,若不清楚if和else的匹配,最好用begin-end语句括起来。

    • 条件语句必须在过程块中使用:

      always@(a,b,int1,int2) 
           begin
          if(a>b)
              begin      
                  out1=int1;     
                  out2=int2;        
              end
          else
             begin       
                 out1=int2;       
                 out2=int1;      
             end
       end
      
    • 允许一定形式的表达式简写方式:

      if(expression) 等同于 if(expression == 1)

      if(!expression) 等同于 if(expression!= 1)

    • if语句的嵌套,即在if语句中又包含一个或多个if语句称为if语句的嵌套。应当注意if与else的配对关系,else总是与它上面的最近的if配对。

    • if-else 嵌套形式隐含优先级关系:

       always@(sela or selb or a or b or c)
          begin
            if(sela)  q=a;
            else if(selb) q=b;
      	      else q=c;
          end
      

    在这里插入图片描述

    2.case语句

    • Verilog语言提供的case语句直接处理多分支选择,通常用于描述译码器、数据选择器、状态机及微处理器的指令译码等,它的一般形式如下:

      case(表达式)
          分支表达式1:语句1;
          分支表达式2:语句2;
          ···
          分支表达式n:语句n;
          default: 语句n+1; //如果前面列出了表达式所有可能取值,default语句可以省略
      endcase      
      
    • case括弧内的表达式称为控制表达式,case分支项中的表达式称为分支表达式。分支表达式则用这些控制信号的具体状态值来表示,因此分支表达式又可以称为常量表达式。

    • 当控制表达式的值与分支表达式的值相等时,就执行分支表达式后面的语句;如果所有的分支表达式的值都没有与控制表达式的值相匹配,就执行default后面的语句。

    • 分支表达式后面的语句也可以是由begin-end括起来的语句块。

    • default项可有可无,一个case语句里只准有一个default项。同样,case也只能在块语句中使用。

    //case语句实现3-8译码器的部分代码如下:
         wire[2:0] sel;
         reg[7:0]  res;
         always @ (sel or res)
          begin
    //case语句;
      case (sel)
           3’b000 : res=8’b00000001;
           3’b001 : res=8’b00000010;
           3’b010 : res=8’b00000100;
           3’b011 : res=8’b00001000;
           3’b100 : res=8’b00010000;
           3’b101:  res=8’b00100000;
           3’b110 : res=8’b01000000;
           default:  res=8’b10000000;
       endcase
     end
    
    • case语句的所有表达式值的位宽必须相等,只有这样,控制表达式和分支表达式才能进行对应位的比较。一个经常犯的错误是用’bx,'bz来替代n’bx,n’bz,这样写是不对的,因为信号x,z的默认宽度是机器的字节宽度,通常是32位。

    • 执行完case分项后的语句,则跳出该case语句结构,终止case语句的执行。

    • 在case语句中,表达式与分支表达式1到分支表达式n之间的比较是一种全等比较(===),必须保证两者的对应位全等。如果表达式的值和分支表达式的值同时为不定值或者同时为高阻态,则认为是相等的

      case01xz
      01000
      10100
      x0010
      z0001
      case ( a )
           2’b1x:out = 1;   // 只有a = 1x,才有out = 1
           2’b1z:out = 0;    // 只有a = 1z,才有out = 0
         ...
      endcase
      
    • case(select[1,2])
           2'b00: result   = 0;
           2'b01: result   = flaga;
           2'b0x,
           2'b0z: result   = flaga ? 'bx:0;
           2'b10: result   = flagb;
           2'bx0,
           2'bz0: result   = 0;
          default: result   = flagb ? 'bz:0;
       endcase
      //当多个分项可以共用一个语句或语句块。其分支表达式之间用“,”隔开。
      
    • case语句还有两种变种,即casez语句和casex语句。

    • casez:

      ​ 忽略比较过程中值为z的位,即如果比较的双方(表达式的值与分支表达式的值)有一方的某一位的值是z,那么对这些位的比较就不予考虑,只需关注其他位的比较结果。

    • casex:

      ​ 在casex语句中,则把这种处理方式进一步扩展到对x的处理,即将z和x均视为无关值。

      casez01xz
      01001
      10101
      x0011
      z1111
      //在分支表达式中,z常用?代替。
      casez(a)
               3'b1?? :  out1 = 1;//如果a=100、101、110、111或1xx,1zz等,都有out1 = 1。
           
               3'b0?1 :  out2 = 1; //如果a=001、011、0x1、0z1,都有out2 = 1
              .......
      endcase
      
      casex01xz
      01011
      10111
      x1111
      z1111
      例如:
          casex(a)
      	         2'b1x:out=1;  
                ..................
           endcase
      //如果a=10、11、1x、1z,都有out=1。
      
    • if语句条件不完备情况

      如果if语句和case语句的条件描述不完备,会造成不必要的锁存器 。

      一般不可能列出所有分支,因为每一变量至少有4种取值0,1,z,x。为包含所有分支,可在if语句最后加上else;在case语句的最后加上default语句。

    • 回顾一下锁存器和寄存器的区别:

    在这里插入图片描述

    always@(a or b) 
            begin 
               if(a == 1’b1)
                    y = b;
           end
    

    在这里插入图片描述

    always@(posedge clk) 
            begin 
              if(a == 1’b1)
                  y <= b;
           end
    //毛刺通过D触发器被滤除
    

    在这里插入图片描述
    在这里插入图片描述

    • 对FPGA来说,它的基本逻辑单元由多输入查找表、 D触发器构成,并不存在锁存器结构,因此如果在FPGA设计中使用锁存器,需要更多的资源来搭建锁存器,反而会更消耗资源。

    • 所以在FPGA设计中,应该避免锁存器。在时序逻辑电路中,可以将锁存器改为带使能端的D触发器;在组合电路中,可以通过更改代码以覆盖所有条件分支等方式避免产生锁存器。

       always @(al or d)
          begin
           if(al)
                q<=d;
          end
          //有锁存器
      always @(al or d)
        begin
          if(al)   q<=d;
          else    q<=0
        end
          //无锁存器
      
    • 检查一下上边的"always"块,if语句保证了只有当al=1时,q才取d的值。这段程序没有写出 al = 0 时的结果, 那么当al=0时会怎么样呢?

      在"always"块内,如果在给定的条件下变量没有赋值,这个变量将保持原值,也就是说会生成一个锁存器!

    • 避免偶然生成锁存器的错误。如果用到if语句,最好写上else项。如果用case语句,最好写上default项。遵循上面两条原则,就可以避免发生这种错误,使设计者更加明确设计目标,同时也增强了Verilog程序的可读性。

    3.forever语句

    forever语句的格式如下:
          forever   语句;
        或者:    
           forever
              begin            
                  语句1;
                  语句2;
                  ……
              end
    
    • forever表示永久循环,无条件地无限次执行其后的语句,相当于while(1),直到遇到系统任务$finish$stop,如果需要从循环中退出,可以使用disable

    • 循环语句多用于生成时钟等周期性波形,它与always语句不同之处在于不能独立写在程序中,而必须写在initial块中。

      initial
          begin
               clk = 0;
               forever #25 clk = ~clk;     
          end
      
    • forever应该是过程块中最后一条语句。其后的语句将永远不会执行。

    • forever语句不可综合,通常用于testbench描述。

      ...
      reg clk;
      initial
            begin
            clk = 0;
            forever //这种行为描述方式可以非常灵活的描述时钟,可以控制时钟的开始时间及周期占空比。仿真效率也高。
                  begin
                       #10 clk = 1;
                       #10 clk = 0;
                 end
      end
      ...
      

    4.repeat语句

    • repeat语句是最简单的循环语句,用于循环次数已知的情况。

      repeat语句的表达形式为:

      repeat(循环次数)
           begin
               操作1;
      	     操作2;
               ………
           end
      
    • 下例实现连续8次循环左移的操作:

      if (rotate == 1)
        repeat (8)     
         begin
             temp = data[15];
             data = {data << 1,temp};  // data循环左移8次
         end
      

    5.while语句

    • while语句通过控制某个变量的取值来控制循环次数。一般表达形式:

      while(条件)
          begin
                操作1;
                操作2;
                ………
           end
      

      在使用while语句时,一般在循环体内更新条件的取值,以保证在适当的时候退出循环。

    • 下例实现连续4次循环的操作

      i = 0;
      while(i < 4)
          begin
             a = a + 1;
             //更新条件取值,使循环4次退出循环
       	   i = i + 1; 
          end
      
    • 可见在while结构中只要表达式为真(不为0),则重复执行一条语句(或语句块)

      //其功能为:统计tempreg中 1 的个数
      . . .
      reg [7: 0] tempreg;
      reg [3: 0] count;
      . . .
            count = 0;
            while (tempreg) 
            begin
                  if (tempreg[0]) 
                      count = count + 1;
                  tempreg = tempreg >> 1; // Shift right
            end
      end
      . . .
      /*
      Tempreg:
       1011
       0101
       0010
       0001
       0000
      */
      

    6.for语句

    • for语句可以实现所有的循环结构。其表达形式如下:

      for(循环变量赋初值;条件表达式;更新循环变量)
             begin
                操作1:
                操作2;
                ………
             end
      
    • 它的执行过程如下:

      (1)先对循环变量赋初值。

      (2)计算条件表达式,若其值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面的第(3)步。若为假(0),则结束循环,转到第5步。

      (3) 若条件表达式为真,在执行指定的语句后,执行更新循环变量。

      (4) 转回上面的第(2)步骤继续执行。

      (5) 执行for语句下面的语句。

    for(i = 0; i <4; i =i+1)
        begin 
    		a = a+1;
         end
    
    • 例:用for语句来实现8位数据中低4位左移到高4位;

          integer i;
          reg [7:0] datain;
      
         always @ (posedge clk)
           begin
                for(i=4;i<=7;i=i+1)
                    begin
                       datain[i]  <=  datain [i-4];
                    end
           end   
      
    • 例:编写 在一个时钟周期内用for语句计算出13路脉冲信号为高电平的个数。

         input clk,rst;
         input [12:0]  datain;    
         output [3:0]  numout;    
         reg [3:0] i;
         reg [3:0] num;
        always @ (posedge clk) 
          begin
              if ( !rst )  //重置信号
                   num <= 0;  
             else 
                begin
                    for ( i = 0; i < 13; i = i + 1)   //用for循环进行计算
                        if ( datain [i ] )  num  <= num +1;                   
                 end
          end
      

    7.disable语句

    • 在有些特殊的情况下,需要使用disable强制退出循环。
    • 使用disable语句强制退出循环,首先要给循环部分起个名字,方法是在begin后添加“: 名字”。即disable语句可以中止有名字的begin…end块和fork…join块。
    • 语句块可以具有自己的名字,这称为命名块。

    命名块的特点是:

    命名块中可以声明局部变量;

    命名块是设计层次的一部分,命名块中声明的变量可以通过层次名引用进行访问

    命名块可以被禁用,例如停止其执行。

     //命名块
     module top;
      initial
        begin : block1
           integer i;
           ……….
         end
       
     initial
        fork : block2
           reg i;
           ……….
           ……….
         join
    
    • Verilog通过关键字disable提供了一种中止命名块执行的方法。

      disable可以用来从循环中退出、处理错误条件以及根据控制信号来控制某些代码段是否被执行。

      对块语句的禁用导致本块语句终止执行,紧接在块后面的那条语句被执行。

    • 例:(在C语言中break和continue的区别)

      begin  :continue
            a = 0; b =0;
            for(i=0;i<4;i = i+1)
             begin
                a = a+1;
                if(i==2) disable continue;
                b = b+1;
             end
       end
       ……………….;//a做3次加1操作后强制退出循环;而b只做2次加1操作。
      
           a=0; 
           b=0;
           for( i=0; i<4; i=i+1)
             begin: continue
      	    a = a+1;
                     if( i ==2) disable continue;
                     b= b+1;
              end
            ……………………….;
      //中止一次循环,继续下一次循环; a做4次加1操作, b只做3次加1操作.
      
    展开全文
  • 02 授课班级 周次 星期 节次 任课教师 复习提问 我们学习了哪些运算符常量变量又是指什么 学习模块 模块三 控制程序语句 学习任务 任务1 选择结构 授课内容 if语句ifelse语句if语句嵌套 课时 10H 教学载体 教学目标...
  • 数据库技术应用课程 学习任务书 职业技能主题3 SQL语言编写应用能力 实践任务3-5使用SQL语言设置复杂的数据约束 技能点3-5-4使用使用insert语句录入课程和成绩数据 使用insert语句录入课程和成绩数据 一训练目标...
  • CASE语句与CASE表达式

    千次阅读 2012-03-10 17:20:46
    case语句与case表达式是plsql流程控制的重要组成部分,尽管其使用方法较为简单,但容易混淆。本文将描述case语句与case表达式并给出演示以便于更好理解两者的异同及使用时的注意事项。一、简单case语句-->语法 CASE...
          case语句与case表达式是plsql流程控制的重要组成部分,尽管其使用方法较为简单,但容易混淆。本文将描述case语句与case表达式并给出演示以便于更好理解两者的异同及使用时的注意事项。
    

    一、简单case语句
    -->语法
    
    CASE SELECTOR
    WHEN EXPRESSION 1 THEN STATEMENT 1;
    WHEN EXPRESSION 2 THEN STATEMENT 2;
    ...
    WHEN EXPRESSION N THEN STATEMENT N;
    ELSE STATEMENT N+1;
    END CASE;
    
    --简单的case语句是指SELECTOR中得到的值或结果与EXPRESSION n中的值或结果相匹配,一旦找到匹配,则对应的语句被执行。直到找到为止。
    --如果对应的EXPRESSION n 中没有匹配,则此时ELSE上阵,执行其后对应的语句。
    --ELSE为可选项。如省略且when条件中未找到任何匹配项,则收到case_not_found异常。
    
    -->演示简单case语句
    sys@ORCL> DECLARE
      2     v_num    NUMBER := &in_num;
      3     v_flag   NUMBER;
      4  BEGIN
      5     v_flag := MOD (v_num, 2);
      6  
      7     CASE v_flag
      8        WHEN 0
      9        THEN
     10           DBMS_OUTPUT.put_line (v_num || ' is even number');
     11        WHEN 1
     12        THEN
     13           DBMS_OUTPUT.put_line (v_num || ' is odd number');
     14        ELSE
     15           NULL;
     16     END CASE;
     17  END;
     18  /
    Enter value for in_num: 5
    5 is odd number
    
    PL/SQL procedure successfully completed.
    二、搜索式case语句
    -->语法
    
    CASE
    WHEN SEARCH CONDITION 1 THEN STATEMENT 1;
    WHEN SEARCH CONDITION 2 THEN STATEMENT 2;
    ...
    WHEN SEARCH CONDITION N THEN STATEMENT N;
    ELSE STATEMENT N+1;
    END CASE;
    
    --搜索式case语句与简单case语句长相不一样。首先是case 之后没有接selector,其次是when之后的SEARCH CONDITION n得到的结果为布尔型,
    --当搜索到第一个为TRUE的STATEMENT的结果会被返回。若果所有的when之后的SEARCH CONDITION没有为TRUE的,则else之后的STATEMENT
    --的结果会被返回。如果此时省略了else子句,等同于简单case语句,同样会收到case_not_found异常。谁叫他俩一母同胞呢?
    
    -->下面演示搜索式case
    scott@ORCL> DECLARE
      2     v_num   NUMBER := &in_num;
      3  BEGIN
      4     CASE
      5        WHEN v_num > 0
      6        THEN
      7           DBMS_OUTPUT.put_line (v_num || ' is a positive number ');
      8        WHEN v_num < 0
      9        THEN
     10           DBMS_OUTPUT.put_line (v_num || ' is a negative number ');
     11        ELSE
     12           DBMS_OUTPUT.put_line (v_num || ' is zero ');
     13     END CASE;
     14  END;
     15  /
    Enter value for in_num: -3
    -3 is a negative number
    
    -->如下例所示所有的when之后的没有一个为true,且省略了else子句,那么迎接你的是CASE not found
    scott@ORCL> DECLARE
      2     v_num   NUMBER := &in_num;
      3  BEGIN
      4     CASE
      5        WHEN v_num > 0
      6        THEN
      7           DBMS_OUTPUT.put_line (v_num || ' is a positive number ');
      8        WHEN v_num < 0
      9        THEN
     10           DBMS_OUTPUT.put_line (v_num || ' is a negative number ');
     11     END CASE;
     12  END;
     13  /
    Enter value for in_num: 0
    DECLARE
    *
    ERROR at line 1:
    ORA-06592: CASE not found while executing CASE statement
    ORA-06512: at line 4
    
    /**************************************************/                                                                        
    /* Author: Robinson Cheng                         */                                                                        
    /* Blog:   http://blog.csdn.net/robinson_0612     */                                                                        
    /* MSN:    robinson_0612@hotmail.com              */                                                                        
    /* QQ:     645746311                              */                                                                        
    /**************************************************/ 
    三、简单case语句与搜索式case语句的异同
    --相同点:两者都用于根据不同的条件,来执行与之对应的语句或完成特定的任务,甚至某些情况下可以互换替换。
    --不同点: 
    	--简单case语句提供一个selector选择器,且EXPRESSION的数据类型一定与selector的数据类型匹配,否则报错。
    	--搜索case语句没有selector选择器,且when子句之后得到的结果一定是一个布尔型值(NULL,TRUR,FALSE)
    
    --下面的例子是一个简单case与搜索case之间互换的例子,同时该方式也实现了行到列的转行。
    scott@ORCL> select sum(case when deptno=20 then sal end) as sal_sum_20,   -->搜索式case表达式 @20150713更正
      2  sum(case when deptno=30 then sal end) as sal_sum_30
      3  from emp where comm>300;
    
    SAL_SUM_20 SAL_SUM_30
    ---------- ----------
         13075       8300
    
    scott@ORCL> select sum(case deptno when 20 then sal end) as sal_sum_20,  -->简单式case表达式  @20150713更正
      2  sum(case deptno when 30 then sal end) as sal_sum_30
      3  from emp where comm>300;
    
    SAL_SUM_20 SAL_SUM_30
    ---------- ----------
         13075       8300
    	 
    --使用搜索式case方式,当selector选择器的数据类型不是为布尔型时,收到类型不匹配的提示,如下示例:	 
    scott@ORCL> DECLARE
      2     v_num    NUMBER := &sv_num;
      3     v_flag   NUMBER;
      4  BEGIN
          THEN
      5     CASE v_flag
      6        WHEN MOD (v_num, 2) = 0
      7        THEN
      8           DBMS_OUTPUT.PUT_LINE (v_num || ' is even number');
      9        ELSE
     10           DBMS_OUTPUT.PUT_LINE (v_num || ' is odd number');
     11     END CASE;
     12  END;
     13  /
    Enter value for sv_num: 7
       CASE v_flag
            *
    ERROR at line 5:
    ORA-06550: line 5, column 9:
    PLS-00615: type mismatch found at 'V_FLAG' between CASE operand and WHEN operands
    ORA-06550: line 5, column 4:
    PL/SQL: Statement ignored
    四、case表达式
    --Case表达式与Case语句,如何理解呢?我们不妨来望文生义,便于记忆。分析如下:
    --Case表达式,那么when 之后接的一定是表达式或一个特定值。
    --Case语句,那么when之后接的特定一个语句,或函数,或计算表达式。既然是语句则一定带有分号。
    --最后一点区别是case以end结束,而case语句则是以case end结束。
    
    scott@ORCL> DECLARE
      2     v_num      NUMBER := &in_num;
      3     v_flag     NUMBER;
      4     v_result   VARCHAR2 (20);
      5     BEGIN
      6     v_flag := MOD (v_num, 2);
      7  
      8     v_result :=
      9        CASE v_flag
     10           WHEN 0 THEN TO_CHAR (v_num) || ' is even number'
     11           WHEN 1 THEN TO_CHAR (v_num) || ' is odd number'
     12        END;
     13     DBMS_OUTPUT.put_line (v_result);
     14  END;
     15  /
    Enter value for in_num: 3
    3 is odd number
    
    PL/SQL procedure successfully completed.
    
    -->下面的写法也较为常用
    scott@ORCL> SELECT ename,
      2         CASE deptno
      3            WHEN 20 THEN 'Developement'
      4            WHEN 30 THEN 'Sales'
      5            ELSE 'Clerk'
      6         END
      7            AS deptname
      FROM scott.emp;
      8  
    ENAME      DEPTNAME
    ---------- ------------
    john       Clerk
    Henry      Developement
    ALLEN      Sales
    WARD       Sales
    ..........
    五、case嵌套
    --case的嵌套就是case语句和表达式中嵌套case语句与表达式,理解了case的用法,case嵌套并不难。注意case与case end/end的匹配问题
    --下面是一个使用case表达式演示的case嵌套示例。
    --更新表emp中的comm列,首要case是根据部门来判断,其下又嵌套了一个case,根据comm值的不同来确定新的comm值。
    UPDATE scott.emp
       SET comm =
              CASE deptno
                 WHEN 20 THEN CASE
                                 WHEN comm IS NULL THEN 500
                                 WHEN comm < 200 THEN 300
                                 ELSE 100
                              END
                 WHEN 30 THEN CASE
                                 WHEN comm IS NULL THEN 700
                                 WHEN comm < 200 THEN 500
                                 ELSE 200
                              END
                 ELSE 1000
              END;
    六、更多参考          

    启用用户进程跟踪

    父游标、子游标及共享游标

    绑定变量及其优缺点

    dbms_xplan之display_cursor函数的使用

    dbms_xplan之display函数的使用

    执行计划中各字段各模块描述

    使用 EXPLAIN PLAN 获取SQL语句执行计划

    启用 AUTOTRACE 功能

    函数使得索引列失效

    Oracle 绑定变量窥探



    
    展开全文
  • 语句就是JavaScript指令,通过这些指令可以执行特定任务,或者设计程序的逻辑结构。 从功能上看,JavaScript语句可以分为声明语句、表达式语句、选择语句、循环语句、控制语句等。 表达式语句语句块 如果再表达式...
  • Verilog延迟语句可以在赋值运算符的左侧或右侧指定延迟。
  • 今天在使用SQL语句做查询任务的时候发现,在数据库中可以直接执行的语句,放在程序中结果却是None,于是乎,就实践了一下,下面是具体的实践。 #!usr/bin/env python # encoding:utf-8 ''' __Author__:沂水寒城 ...
  • 需要执行的sql语句 */ END 我的示例为: 然后保存为该查询为update_temper1 二.使用Navicat创建一个事件 点击Navicat的事件->新建事件 在定义中调用之前保存的存储过程CALL func() 然后设置计划,也...
  • SQL备份还原语句

    千次阅读 2017-09-15 09:25:46
    1.(第一种,T-SQL语句备份和还原) (1) BACKUP DATABASE cissy_database  TO disk = 'C:\cissy.bak'   然后点击执行,将cissy_database数据库备份到C:\cissy.bak(自己先建立一个文件夹,然后再此...
  • Python 循环语句

    千次阅读 2016-09-10 11:27:40
    概述Python提供了for循环和while循环(在Python中没有do..while循环)while循环语法Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:...
  • 一、使用Navicat创建Event 1、创建一个存储过程让定时...在上述存储过程中将自定义的sql语句填写到BEGINEND之间。 2、查看并打开event_scheduler调度事件: 再上图查询窗口执行查看: show variables li
  • 4.1任务1:打印数字(时间:25分钟) 4.1.1 任务描述 编程求一个四位自然数ABCD,它乘以A后变成DCBA。 4.1.2 任务目的 逐渐建立使用循环进行编程的思路:寻找规律;写出循环体中需要重复操作的部分,其中包括...
  • 开发过程中,如果使用mybatis做为ORM框架,经常需要打印出完整的sql语句以及执行的结果做为参考。 虽然mybatis结合日志框架可以做到,但打印出来的通常都是sql和参数分开的。 有时我们需要调试这条sql的时候,就...
  • Verilog常用语句

    千次阅读 2020-03-24 11:45:11
    1、Verilog生成锁存器 2、循环语句 3、结构说明语句 ...3、任务与函数 4、系统函数与任务 5、编译预处理 5.1 `define宏定义 5.2 include文件包含 5.3 时间尺度 5.4 条件编译命令 小结: ...
  • ``` UPDATE table1 SET zhuangtai = '退回' WHERE DATEDIFF(fasongtime, getdate())>1 //超过24小时修改状态 ``` 这条sql语句 怎么让数据库每天执行一次?
  • SQL语句执行流程顺序原理解析

    千次阅读 2017-10-16 13:09:45
    也就是说,Oracle 客户端是不会做任何的操作,他的主要任务就是把客户端产生的一些SQL语句发送给服务器端。服务器进程从用户进程把信息接收到后, 在PGA 中就要此进程分配所需内存,存储相关的信息,如:在会话内存...
  • verilog中taskfunction语句的使用

    千次阅读 2020-09-23 23:56:40
    函数中的功能描述语句与任务一样都是过程语句,因此函数的调用只能放在主程序的过程结构中;同时,与任务相同,函数中的语句也不能出现由always 或initial 引导的过程语句结构,从而函数描述的可综合的逻辑结构也...
  • Verilog中阻塞非阻塞语句

    千次阅读 2015-05-13 10:50:22
    在纠结这个问题的时候,还顺便弄清楚了前仿真后仿真,Verilog的分层事件队列,使用系统任务的一些原则等。这些问题以后再说,现在只谈一下我对阻塞非阻塞的理解。 概念这东西,还是引用教材中的比较好。 ...
  • for 循环 if语句 分支 ...分支结构的表达式结果是一个布尔值的表达式 分支结构的基本语法有 if语句 1 if 语句单项分支 if语法在分支结构中表达式是如果怎么样,表达式中的布尔值如果是True就执行当前if语句内...
  • Python循环语句

    千次阅读 2015-08-20 18:29:58
    循环语句允许我们执行一个语句语句组多次,下图是大多数编程语言中的循环语句的一般形式: Python中只提供了for循环和while循环,没有do…while循环。循环控制语句 循环控制语句可以更改语句执行的顺序,...
  • if语句实战(详解)

    千次阅读 2018-02-04 05:20:05
    对于if语句,其实很多人都肯定的听说过,那么if语句到底是什么,简单的说,就类似于汉语里面的如果----那么,if语句是linux运维人员在实际环境中使用的最频繁也是最重要的语句!!! 一、if条件语句 1、单分支语句...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 434,806
精华内容 173,922
关键字:

任务与结果的语句