达梦变量赋值

1、直接赋值

sql 复制代码
DECLARE
	--定义变量
	id int;
	
	--定义变量,并赋初始值
	name varchar(20) = 'initValue';
BEGIN
	--直接赋值,方式1
	set id = 1;
	
	--直接赋值,方式2
	name := 'currentValue';
	
	select id as 编号, name 名称;
end;

2、查询赋值

sql 复制代码
DECLARE
	--定义变量
	userid varchar(20);
	
	--定义变量,并赋初始值
	username varchar(20) = 'initValue';
BEGIN
	--查询赋值
	select emp_ID, emp_Name into userid, username from EMPLOYEE where EMP_ID = 'manager';
	
	select userid as 编号, username 名称;
end;

SELECT...INTO 语句要求查询只能返回一条记录,执行时可能会发生两种例外情况:

没有查询到满足条件的记录,系统返回预定义异常 NO_DATA_FOUND;

存在多行满足条件的记录,系统返回预定义异常 TOO_MANY_ROWS;

对于这样的异常必须做出相应处理,否则会影响 DMSQL 程序的正确执行。

处理 NO_DATA_FOUND

sql 复制代码
DECLARE
	--定义变量
	userid varchar(20);
	
	--定义变量,并赋初始值
	username varchar(20) = 'initValue';
BEGIN
	--查询赋值
	begin
		select emp_ID, emp_Name into userid, username from EMPLOYEE where EMP_ID = '';
	exception
		--对 NO_DATA_FOUND 异常必须做出相应处理,否则会影响 DMSQL 程序的正确执行。
 		when NO_DATA_FOUND then
 		begin
 			set userid = 'NO_DATA_FOUND';
 		end;
	end;
	
	select userid as 编号, username 名称;
end;

处理 TOO_MANY_ROWS

sql 复制代码
DECLARE
	--定义变量
	userid varchar(20);
	
	--定义变量,并赋初始值
	username varchar(20) = 'initValue';
BEGIN
	--查询赋值
	begin
		select emp_ID, emp_Name into userid, username from EMPLOYEE;
	exception
		--对 TOO_MANY_ROWS 异常必须做出相应处理,否则会影响 DMSQL 程序的正确执行。
		when TOO_MANY_ROWS then
		begin
			set userid = 'TOO_MANY_ROWS';
		end;
	end;
	
	select userid as 编号, username 名称;
end;
相关推荐
TDengine (老段)7 分钟前
TDengine 在新能源领域的最佳实践
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
是席木木啊11 分钟前
Spring Boot 中 @Async 与 @Transactional 结合使用全解析:避坑指南
数据库·spring boot·oracle
__风__11 分钟前
PostgreSQL 创建扩展后台流程
数据库·postgresql
StarRocks_labs11 分钟前
Fresha 的实时分析进化:从 Postgres 和 Snowflake 走向 StarRocks
数据库·starrocks·postgres·snowflake·fresha
CodeAmaz17 分钟前
Spring编程式事务详解
java·数据库·spring
scan72422 分钟前
python mcp 打印出参数
linux·服务器·数据库
Evan芙24 分钟前
mysql二进制部署以及多实例部署
android·数据库·mysql
Access开发易登软件31 分钟前
Access开发实战:绘制漏斗图实现业务转化分析
数据库·信息可视化·html·vba·图表·access
云老大TG:@yunlaoda36035 分钟前
开通华为云国际站代理商的UCS服务需要哪些资质?
大数据·数据库·华为云·云计算
总有刁民想爱朕ha39 分钟前
Windows Server 2019部署MySQL 8教程
数据库·windows·mysql