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;缓存的读取…

Verdi实现信号的平移

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

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…

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

&#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…

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;…

《Python趣味工具》——自制emoji3

今日目标 在上次&#xff0c;我们绘制了静态的emoji图。并且总结了turtle中的常用函数。 本次我们将尝试制作一个动态的emoji&#xff0c;让你的表情包动起来&#xff01; 文章目录 一、动画原理&#xff1a;二、制作动画&#xff1a;1. 修改eyes_black()函数&#xff1a;2. 绘…

Linux中如何执行命令

目录 命令格式&#xff1a; 命令分类&#xff1a; 命令帮助&#xff1a; 1、man 2、help 3、--help 4、info命令 终止命令&#xff1a; 补全命令&#xff1a; 1&#xff09;补全命令&#xff1a; 2&#xff09;补全文件名和目录名&#xff1a; 命令格式&#xff1a;…

智慧公厕建设,要以技术为支撑、体验为目的、业务为驱动

#智慧公厕[话题]# #智慧公厕系统[话题]# #智慧公厕厂家[话题]# #智慧公厕驿站[话题]# 在数字化城市与智慧城市的大力推进下&#xff0c;作为社会重要的生活设施&#xff0c;智慧化的公共厕所的建设变得越来越重要。作为城市的基础部件之一&#xff0c;公厕的智慧化建设需要进行…

2023年7月京东平板电脑行业品牌销售排行榜(京东销售数据分析)

鲸参谋监测的京东平台7月份平板电脑市场销售数据已出炉&#xff01; 根据鲸参谋电商数据分析平台的相关数据显示&#xff0c;今年7月份&#xff0c;京东平台上平板电脑的销量为68万&#xff0c;同比增长超过37%&#xff1b;销售额为22亿&#xff0c;同比增长约54%。从价格上看…