DM/达梦数据库查询或更新某一列中多个字典码对应内容

准备工作(建表、插入数据)

1、建立表格:学生-学习科目表student_study
注意:科目kemu列内容是字典码,需要更换成对应内容。

CREATE TABLE "TEST"."STUDENT_STUDY"
(
"NAME" VARCHAR(255),
"KEMU" VARCHAR(255)) STORAGE(ON "MAIN", CLUSTERBTR) ;COMMENT ON COLUMN "TEST"."STUDENT_STUDY"."NAME" IS '姓名';
COMMENT ON COLUMN "TEST"."STUDENT_STUDY"."KEMU" IS '科目,内容是字典码,以英文逗号分隔';INSERT INTO TEST.STUDENT_STUDY VALUES('张三','@1,@2'),('李四','@1,@3'),('王五','@1,@2,@3');

在这里插入图片描述

2、建立表格:编号-学科对应表格xueke
注意:这张表是字典码编号和科目xueke的对应关系表。

CREATE TABLE "TEST"."XUEKE"
(
"BIANHAO" VARCHAR(255),
"XUEKE" VARCHAR(255)) STORAGE(ON "MAIN", CLUSTERBTR) ;COMMENT ON COLUMN "TEST"."XUEKE"."BIANHAO" IS '字典码编号';
COMMENT ON COLUMN "TEST"."XUEKE"."XUEKE" IS '学科名称';INSERT INTO TEST.XUEKE VALUES('@1','数学'),('@2','语文'),('@3','英语');

在这里插入图片描述

自定义存储函数

-- 所有函数及定义参考DM8_SQL语言使用手册、DM8_SQL程序设计(在DM安装目录/doc/下)
CREATE OR REPLACE FUNCTION get_code_meaning(codes IN VARCHAR(200)) RETURN VARCHAR(200)
AS
i INT DEFAULT 1;-- 或者 i INT := 1
max_i int;
code VARCHAR(100);
meaning varchar(100);
result_type varchar(200) DEFAULT '';
BEGINmax_i := LENGTH(codes) - LENGTH(REPLACE(codes, ',', '')) + 1; WHILE i<=max_i LOOP-- 取出每个元素,以','进行分割code := SUBSTRING_INDEX(SUBSTRING_INDEX(codes, ',', i), ',', -1); -- 在这里查询代码表获取每个代码的含义,并赋值给meaning变量-- 此处根据根据WHERE条件查询的结果必须是一行记录,否则报错 ;多行记录需使用`TOP 1`或者`LIMIT 1`进行处理SELECT XUEKE INTO meaning FROM TEST.XUEKE WHERE BIANHAO = code;  IF result_type <> '' THENresult_type := CONCAT_WS(',',result_type,meaning);ELSEresult_type := meaning;END IF;i := i+1;END LOOP;RETURN result_type;
END;

查询出多个字典码对应的内容

SELECT NAME,KEMU,get_code_meaning(KEMU) FROM TEST.STUDENT_STUDY;

在这里插入图片描述

替换多个字典码对应的内容

UPDATE TEST.STUDENT_STUDY SET KEMU=get_code_meaning(KEMU);

表里科目列字典项数据已经替换成对应内容:
在这里插入图片描述

参考SQL Server更新某一列中多个字典码对应内容(sql示例),该博主给出的是SQL Server的方法,因业务需求,本人自行更改为DM数据库的可行方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/82547.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql redis的区别

.mysql和redis的数据库类型 mysql是关系型数据库&#xff0c;主要用于存放持久化数据&#xff0c;将数据存储在硬盘中&#xff0c;读取速度较慢。 redis是NOSQL&#xff0c;即非关系型数据库&#xff0c;也是缓存数据库&#xff0c;即将数据存储在缓存中&#xff0c;缓存的读取…

v-model绑定导致的element UI文本框输入第一次值后被绑定,导致空文本框无法再输入文字

在工作岗位上&#xff0c;上边分配一个任务&#xff0c;创建一个页面&#xff0c;从0-1&#xff0c;全部自己搭建&#xff0c;也没有啥模版&#xff0c;就这么来&#xff0c;那就直接来吧&#xff0c;没办法&#xff0c;那就直接上手&#xff0c;开发过程中&#xff0c;我使用了…

Verdi实现信号的平移

在Verilog/System verilog中&#xff0c;# xxx可以实现延迟指定时间的功能&#xff0c;而在使用verdi查看信号波形并进行分析时&#xff0c;同样也可以实现类似的功能。 (注&#xff1a;这种信号平移是有其应用场景的&#xff0c;例如&#xff0c;在某些仿真模型中&#xff0c;…

智华计算机终端保护检查系统使用笔记

使用说明 【智华保密检查右键管理员运行后粘贴密码】—— 点击脚本更改系统时间【智华计算机终端保护检查系统】—— 打开检测软件进行保密检查 检测文件格式 .pdf .doc .docx .xls .pptx 检测时间日志 2023年9月14日A&#xff1a;【34:03秒】2023年9月14日B&#xff1a;【…

ValueError: Index contains duplicate entries,cannot reshape

项目场景&#xff1a; python-dataframe 在对行转列的时候出现 ValueError: Index contains duplicate entries,cannot reshape 问题描述 dataframe官方文档 # 为什么报错 是因为 index 和 columns 有重复值 df df.drop_duplicates(subset[foo,bar],keepfrist) df.pivot(i…

使用patch-package保存node_modules包修改

遇到情况&#xff0c;第三方包存在bug或者缺少文件时候&#xff0c;我们手动修改了某个包时候&#xff0c;下次npm安装时候会导致原来的修改呗覆盖 安装 这时候可以用到npm工具包patch-package&#xff0c;项目更目录命令行安装 npm i -D patch-package修改文件 修改好nod…

SpringSecurity学习 - 认证和授权

一般来说中大型的项目都是使用SpringSecurity 来做安全框架。小项目有Shiro的比较多&#xff0c;因为相比与SpringSecurity&#xff0c;Shiro的上手更加的简单。 一般Web应用的需要进行认证和授权。 认证&#xff1a;验证当前访问系统的是不是本系统的用户&#xff0c;并且要…

Ubuntu20.4搭建基于iRedMail的邮件服务器

iRedMail 是一个基于 Linux/BSD 系统的零成本、功能完备、成熟的邮件服务器解决方案。基于ubuntu20.4搭建基于iRedMail的邮件服务器包括环境配置&#xff0c;iRedMail安装与配置&#xff0c;iRedMail调整邮件附件大小等3个小节进行描述。具体如下详细描述。 1 环境配置 1.设置…

SDXL prompt 笔记

模型 模型有两个&#xff0c;分别是 stable-diffusion-xl-base-1.0、stable-diffusion-xl-refiner-1.0。 base 模型是用来做文生图&#xff0c;refiner 模型是用来做图生图的。 SDXL 模型之 base、refiner 和 VAE_云水木石的博客-CSDN博客 分辨率 默认是1024*1024&#xf…

c++模版元编程-类模版

C 是一门广泛使用的编程语言&#xff0c;提供了丰富的特性和工具来支持灵活和可复用的代码编写。其中&#xff0c;类模板是 C 中强大而重要的特性之一&#xff0c;它使得我们可以编写通用的代码&#xff0c;以处理不同类型的数据。本文将详细介绍 C 类模板的概念、语法和使用方…

深入探索图像处理:从基础到高级应用

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 图像处理是计算机视觉领…

极验率先推出一键认证安全版,供客户自主免费升级,规避日常运营中的风险盲区

2017年6月1日&#xff0c;互联网服务开始响应《中华人民共和国网络安全法》的要求实施账号实名认证。由此&#xff0c;手机号码成为网络世界最主要的“身份证”&#xff0c;也让本机号码一键认证成为可能。其中&#xff0c;极验是最早的直连三大运营商的五家供应商之一&#xf…

生物的神经系统与机器的人工神经网络

生物的神经系统与机器的人工神经网络 文章目录 前言一、人工神经网络二、生物的神经系统三、关系四、相似与区别4.1. 相似&#xff1a;4.2. 区别: 总结 前言 因为本人是学生物的&#xff0c;并且深度学习的核心——人工神经网络与生物的神经系统息息相关&#xff0c;故想要在本…

VMwave虚拟机配置和外网联通

还原默认设置之后&#xff0c;参考 VMwave 虚拟机的三种上网方式_51CTO博客_虚拟机网络设置的三种 设置桥接模式 &#xff0c;配置虚拟机为静态IP&#xff08;网段和主机相通&#xff09;。

华为开源自研AI框架昇思MindSpore应用案例:消噪的Diffusion扩散模型

目录 一、环境准备1.进入ModelArts官网2.使用CodeLab体验Notebook实例 二、案例实现构建Diffusion模型位置向量ResNet/ConvNeXT块Attention模块组归一化条件U-Net正向扩散数据准备与处理采样训练过程推理过程&#xff08;从模型中采样&#xff09; 本文基于Hugging Face&#x…

zabbix自定义监控

一、实验准备 192.168.115.148 zabbix-server 192.168.115.151 zabbix-angent rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm yum install zabbix-server-mysql zabbix-agent yum install centos-release-scl vim /etc/y…

电商平台SDK如何保障安全?

CNNIC第52次《中国互联网络发展状况统计报告》显示&#xff0c;截至2023年6月&#xff0c;我国网民规模达10.79亿人&#xff0c;其中网络购物用户规模达8.84亿人&#xff0c;较2022年12月增长3880万。 国家统计局数据显示&#xff0c;2023年上半年&#xff0c;全国网上零售额达…

Java毕业设计-基于SpingBoot的网上图书商城

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 1. 简介2 技术栈3.1系统功能 4系统设计4.1数据库设计 5系统详细设计5.1系统功能模块5.1系统功能…

STM32F103RCT6学习笔记1:GPIO认识—点灯

今日开始快速掌握这款STM32F103RCT6芯片的环境与编程开发&#xff0c;有关基础知识的部分不会多唠&#xff0c;直接实践与运用&#xff01;文章贴出代码测试工程与测试效果图&#xff1a; 目录 STM32F103RCT6参数解读&#xff1a; GPIO的基础认识与分类&#xff1a; 串口相…

5.后端·新建子模块与开发(自动模式)

文章目录 学习资料自动生成模式创建后端三层 学习资料 https://www.bilibili.com/video/BV13g411Y7GS?p11&spm_id_frompageDriver&vd_sourceed09a620bf87401694f763818a31c91e 自动生成模式创建后端三层 首先&#xff0c;运行起来若依的前后端整个项目&#xff0c;…