精华内容
下载资源
问答
  • 将select查询结果存入到定义的变量中 declare V_tno sutdent.stuno%TYPE; --创建变量存储学生学号 V_tnsex varchar2(6); --创建变量存储学生性别 V_tname varchar2(30); --创建变量存储学生姓名 begin ...

    将select查询的结果存入到定义的变量中

    declare
      V_tno sutdent.stuno%TYPE;  --创建变量,存储学生学号
      V_tnsex varchar2(6);  --创建变量,存储学生性别
      V_tname varchar2(30);  --创建变量,存储学生姓名
    begin
      /**临时表*/
      for cur_ss in (select t.* from student t) loop
        V_tno  := null;
        V_tname := null;
    
        /**给V_tno赋值。即 V_tno = max(stuno)+1  */
        select max(stuno)+1 into V_tno from student ;
         /**也可以将多个列存储多个变量中,但必须有一条记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)
      */
        select stusex,stuname into V_tnsex, V_tname from student where stuname is not null;
        --V_tname := LPAD(ldgx.SEQ_CEZ008.NEXTVAL, 16, '0');
    
        ......
      end loop;
    end

     

    展开全文
  • Mysql存储过程查询结果赋值变量的方法转载: [Mysql存储过程查询结果赋值变量的方法](https://www.cnblogs.com/mytzq/p/7090197.html). 转载: Mysql存储过程查询结果赋值变量的方法. drop table if exists ...

    转载: Mysql存储过程查询结果赋值到变量的方法.

    drop table if exists test_tbl;
    create table test_tbl (name varchar(20), status int(2));
    insert into test_tbl values('abc', 1),('edf', 2),('xyz', 3);
     
    drop procedure IF EXISTS pro_test_3;
    delimiter //
    create procedure pro_test_3()
    begin
    --  方式 1
        DECLARE cnt INT DEFAULT 0;
        select count(*) into cnt from test_tbl;
        select cnt;
     
    --  方式 2
        set @cnt = (select count(*) from test_tbl);
        select @cnt;
     
    --  方式 3
        select count(*) into @cnt1 from test_tbl;
        select @cnt1;
     
    --  多个列的情况下似乎只能用 into 方式
        select max(status), avg(status) into @max, @avg from test_tbl;
        select @max, @avg;
    end
    //
    delimiter ;
     
    call pro_test_3();
    
    展开全文
  • # 使用的navicat 编辑的存储过程 CREATE DEFINER=`root`@`localhost` PROCEDURE `insert_student_back`()BEGIN#定义max变量 DECLARE max INT DEFAULT 0; select max(id) into max from student_back; #判断是不是...

    # 使用的navicat  编辑的存储过程

    CREATE DEFINER=`root`@`localhost` PROCEDURE `insert_student_back`()
    BEGIN
    #定义max变量
    DECLARE max INT DEFAULT 0;
    select max(id) into max from student_back;

    #判断是不是空值 是空值就赋值为0
    if max is null then
      set max = 0;
    end if;

    #备份数据

    INSERT INTO student_back () SELECT * from student where id > max limit 10;
    select max(id) into max from student_register_back;

    #返回值

    select max;


    END

    #结束
    其他方法:

    -- 方式 1
    DECLARE cnt INT DEFAULT 0;
    select count(*) into cnt from test_tbl;
    select cnt;

    -- 方式 2
    set @cnt = (select count(*) from test_tbl);
    select @cnt;

     

    -- 方式 3
    select count(*) into @cnt1 from test_tbl;
    select @cnt1;

     

    -- 多个列的情况下似乎只能用 into 方式

    select max(status), avg(status) into @max, @avg from test_tbl;

    select @max, @avg;



    转载于:https://www.cnblogs.com/code-bugs/p/10286589.html

    展开全文
  • 查询结果赋值变量,大部分情况下使用游标来完成,但是如果明确知道查询结果只有一行(例如统计记录的数量,某个字段求和等),其实可以使用set或into的方式来实现赋值。示例代码: drop table if exists test_...

    把查询结果赋值到变量,大部分情况下使用游标来完成,但是如果明确知道查询结果只有一行(例如统计记录的数量,某个字段求和等),其实可以使用set或into的方式来实现赋值。示例代码:

    
    drop table if exists test_tbl;
    create table test_tbl (name varchar(20), status int(2));
    insert into test_tbl values('abc', 1),('edf', 2),('xyz', 3);
    
    drop procedure IF EXISTS pro_test_3;
    delimiter //
    create procedure pro_test_3()
    begin
    --  方式 1
        DECLARE cnt INT DEFAULT 0;
        select count(*) into cnt from test_tbl;
        select cnt;
    
    --  方式 2
        set @cnt = (select count(*) from test_tbl);
        select @cnt;
    
    --  方式 3
        select count(*) into @cnt1 from test_tbl;
        select @cnt1;
    
    --  多个列的情况下似乎只能用 into 方式
        select max(status), avg(status) into @max, @avg from test_tbl;
        select @max, @avg;
    end
    //
    delimiter ;
    
    call pro_test_3();
    展开全文
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 今天在处理一个问题时,使用到一个存储过程,是用于更新并获取最新ID的。在使用过程中,需要获取到这个ID并赋值给变量结果用EXEC @ID = 存储过程的方式获取失败了。
  • --存储过程 create procedure A_School_getNew  @Size int,  @StartIndex int AS declare @recount int declare @Sql nvarchar(120) select @recount=count(id) from school set @Sql='select top '+...
  • SQL中将查询结果赋值给变量

    千次阅读 2014-11-06 14:01:41
    昨天写了一个存储过程,想将存储过程的返回值直接赋值给
  • 遇到这样一种情况:动态向存储过程中传入表名和表的某些属性(这里用到的是主键ID),然后利用这两个变量查出一条数据的某些字段值,然后再利用这些值进行逻辑运算(自己的逻辑),最后将结果输出。话不多说,直接上...
  • 请看黄色部分 IF CUR_MONTH_BILL_ID > 0 -- 区县指标 THEN TVALUE_SQL : = ...Oracle 在存储过程或函数中执行字符串sql 转载于:https://www.cnblogs.com/senyier/p/7801402.html
  • 如果select语句将查询结果为空集,通过select语句将查询结果赋值给变量时,变量值不变,并不是我想的为null。以后可得注意了。 declare @tmp_ID3 bigint /* 在【tmp_alarmInfo】表中的tmp_ID*/ declare @tt3 ...
  • 存储过程 create   procedure  A_School_getNew   @Size   int ,   @StartIndex   int AS declare   @recount   int declare   @Sql   nvarchar ( 120 ) select   @recount = count (id)  from  school...
  • 写Postgres存储过程时,不晓得怎么讲select查出的值赋值给变量,今天知道了用select INTOcreate or replace function "public"."getdescription"() returns varchar as$body$DECLARE temp varchar;BEGIN select code...
  • -- Description: <把执行的结果给变量> -- ============================================= ALTER PROCEDURE [dbo].[pro_oper] AS DECLARE @strSql NVARCHAR(max) DECLARE @term_code NVARCHAR( 100 ) SET @...
  • 在写的存储过程中,查出的数据,经过if逻辑赋值变量,报错问题: 例如:缩减版“ 定义变量: DECLARE commisionrateNO DECIMAL(18,4) DEFAULT 0.0000;-- 经纪人佣金率 DECLARE commisionfeeNO DECIMAL(18,4) DEFAULT...
  • 存储过程给变量赋值

    万次阅读 2018-05-08 18:12:53
    DECLARE @test1 INT SELECT @test1 = 111 SET @test1 = 222
  • Oracle存储过程给变量赋值的方法

    万次阅读 2016-07-04 15:42:26
    截止到目前我发现有三种方法可以在存储过程给变量进行赋值: 1、直接法 :=  如:v_flag := 0; 2、select into  如:假设变量名为v_flag,select count(*) into v_flag from students; 3、execute ...
  • mysql存储过程中,使用SELECT给变量赋值的方式,貌似不支持返回值! 知道的小伙伴们,不吝赐教,着急 看图: #4.创建带inout模式参数的存储过程 #案例1:传入number1、number2、number3这3个值,最终这3个数都...
  • oracle在存储过程给变量赋值

    万次阅读 2016-08-15 10:31:22
    oracle变量赋值有两种一种是直接:=,两个字符串的连接不可以用 '+' ,要用 '||'   还有就是select into      下面是我写的例子:     create or replace procedure DAILYSTATIC is ...
  • 3.查询结果赋值给该数组 eg: select equid bulk collect into m_array from tb_equipment;   第二个关键字段,表示把结果封装成集合赋值给数组。   4.接着就可以使用for循环遍历数组了 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 488,011
精华内容 195,204
关键字:

存储过程查询结果集赋值给变量