暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

GaussDB SQL语法进阶—存储过程变量

存储过程——局部变量

  • 作用范围在begin到end语句块之间。局部变量声明一定要放在存储过程体的开始。
  • 声明变量
declare variable_name [,variable_name...] datatype [default value]; -- datatype为GaussDB(for MySQL)的数据类型
-- 示例 declare v_num number(8,2) default 9.95; declare v_varchar varchar(255) default 'welcome to GaussDB';
  • 变量赋值
set 变量名=表达式值

存储过程——用户变量

  • 基于会话变量实现的,可以暂存值,并传递给同一连接里的下一条sql使用的变量。当客户端连接退出时,变量会被释放;
  • 声明变量以"@“开始,形式为”@变量名";
  • 变量赋值:可以使用set或select
set @变量名=表达式值 select @变量名:=表达式值; -- 示例 select @x:='Hello World'; set @y='Goodbye My Friend'; set @z=1+2+3;
  • 在存储过程中使用用户变量
delimiter // create procedure HelloWorld() begin select concat(@hello,'World'); end // delimiter ; set @hello='Hello'; call HelloWorld(); -- 结果 concat(@hello,'World') 'Hello World'
  • 在存储过程间传递全局范围的用户变量
create procedure proc1() set @para_procedure='p1'; create procedure proc2() select concat('the parameter of procedure is ',@para_procedure); call proc1(); call proc2(); -- 结果 concat('the parameter of procedure is ',@para_procedure) 'the parameter of procedure is p1'
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论