在Instrument表中注册字段

自己动手写CPU(1)五级流水线及CPU第一条指令ori 自己动手写CPU(1)五级流水线及CPU第一条指令ori 动机 不知为何研一的自由时间突然多起来,可能人一闲下来就容易焦虑吧,hhhhhh。正好之前看到一本《自己动手写CPU》,就按照此书从头实做一遍MIPS指令集的CPU,也当做对大学课程的总结。之前看龙芯杯比赛的代码震惊到我了,想想那堆大佬本科在搞这东西而我本科在瓜瓜地刷分,感叹人之间的差距真的好大。痛定思痛,还是先动手做起来这才能假意安慰自己,我好像也不错。闲言少叙,让我们开始吧! 由于作者提供了各章实现的具体代码,所以该系列博客主要记录我过程中有哪些 阅读详情

在Instrument表中注册字段

 

OFSA中除了在OFDM中对对象进行注册外,用户也可以使用脚本对对象进行注册,但是OFSA提供了一些脚本,需要根据需要进行修改,而下面的内容,是在已有的instrument表的基础上根据需要注册新字段和反向注册字段,其实也就是将已经注册的信息进行删除或新添加一些信息, 如需完全反向注册,下面的过程还需要完善.

1.创建一个序列,用于生成DBF_NAME
create sequence seq_REGEDIT_OFSA_COLUMN
increment by 1
start with 1
nomaxvalue
nocycle cache 10

2.编写注册用的存储过程。

----------------------------------------------------------

参数:p_table_name要注册字段的表名,

p_column_name字段名称

p_data_type数据库数据类型,

p_ofdm_data_type OFDM类型。

----------------------------------------------------------

CREATE OR REPLACE PROCEDURE REGEDIT_OFSA_COLUMN

(

   p_table_name in varchar2,

   p_column_name in varchar2,

   p_data_type in varchar2,

   p_ofdm_type in varchar2

) as

    str varchar2(500);

    v_ofdm_data_type number;

    cursor c is select t.object_name from all_objects t

                where t.object_type='TABLE' and t.object_name like 'FEM_%' and t.owner='OFSA';

   

    v_table_name varchar2(35);

                

begin

    --all of the parameters are not allowed null

    if    trim(p_column_name) is null

        or trim(p_data_type) is null

        or trim(p_ofdm_type) is null then

        boc_ofsa_log_regedit('PROCEDURE','REGEDIT_OFSA_COLUMN','REGEDIT_OFSA_COLUMN','要注册的表名,字段名,数据类型,OFDM类型都不能为空',sysdate);

        return ;

    end if;

    --disable trigger.

    begin

        str:='ALTER TRIGGER ofsa_tab_columns_ar1 disable';

        execute immediate str;

    exception

        when others then

            return ;

    end ;

   

    if trim(p_table_name) is not null then

              -- add column name to table

              begin

                  str:='alter table '||p_table_name||' add('||p_column_name||' '||p_data_type||' '||') ';

                  execute immediate str;

              exception

                  when others then

                      boc_ofsa_log_regedit('PROCEDURE','REGEDIT_OFSA_COLUMN',sqlcode,'注册失败,错误信息为:'||sqlerrm||', 请根据错误信息修改参数.',sysdate);

                  return ;

              end ;

              --deal with the ofsa data type

              begin

                  select a.ofsa_data_type_cd into v_ofdm_data_type from ofsa_data_type_dsc a where a.ofsa_data_type=upper(trim(p_ofdm_type)) and rownum=1;

              exception

                  when others then

                      v_ofdm_data_type:=0;

              end ;

             

              --regedit the ofsa information

              begin

                  INSERT INTO OFSA_TAB_COLUMNS (TABLE_NAME, COLUMN_NAME, OWNER, DISPLAY_FLG, OFSA_DATA_TYPE_CD, DBF_NAME)

                  VALUES (upper(p_table_name),upper(p_column_name),USER, 1, v_ofdm_data_type,'A_'||to_char(seq_regedit_ofsa_column.nextval));

                  INSERT INTO OFSA_TAB_COLUMNS_MLS (MLS_CD, TABLE_NAME, COLUMN_NAME, OWNER, DISPLAY_NAME, DESCRIPTION)

                  VALUES ('US',upper(p_table_name),upper(p_column_name), USER,upper(p_column_name),upper(p_column_name));

         

                  commit;

                  boc_ofsa_log_regedit('PROCEDURE','REGEDIT_OFSA_COLUMN','REGEDIT_OFSA_COLUMN','成功在表'||p_table_name||'中注册了字段'||p_column_name,sysdate);

              exception

                  when others then

                      boc_ofsa_log_regedit('PROCEDURE','REGEDIT_OFSA_COLUMN','REGEDIT_OFSA_COLUMN','插入ofsa_tab_column时发生错误,注册失败',sysdate);

                      commit;

              end;

    else

        open c;

        loop

            fetch c into v_table_name;

            exit when c%notfound;

            begin

                str:='alter table '||v_table_name||' add('||p_column_name||' '||p_data_type||' '||') ';

                begin

                    select a.ofsa_data_type_cd into v_ofdm_data_type from ofsa_data_type_dsc a where a.ofsa_data_type=upper(trim(p_ofdm_type)) and rownum=1;

                exception

                    when others then

                        v_ofdm_data_type:=0;

                end ;

                --regedit the ofsa information

                begin

                    INSERT INTO OFSA_TAB_COLUMNS (TABLE_NAME, COLUMN_NAME, OWNER, DISPLAY_FLG, OFSA_DATA_TYPE_CD, DBF_NAME)

                    VALUES (v_table_name,upper(p_column_name),USER, 1, v_ofdm_data_type,'A_'||to_char(seq_regedit_ofsa_column.nextval));

                    INSERT INTO OFSA_TAB_COLUMNS_MLS (MLS_CD, TABLE_NAME, COLUMN_NAME, OWNER, DISPLAY_NAME, DESCRIPTION)

                    VALUES ('US',v_table_name,upper(p_column_name), USER,upper(p_column_name),upper(p_column_name));

                    boc_ofsa_log_regedit('PROCEDURE','REGEDIT_OFSA_COLUMN','REGEDIT_OFSA_COLUMN','成功在表'||v_table_name||'中注册了字段'||p_column_name,sysdate);

                exception

                    when others then

                        boc_ofsa_log_regedit('PROCEDURE','REGEDIT_OFSA_COLUMN',v_table_name,'插入ofsa_tab_column时发生错误,注册失败',sysdate);

                end;

                execute immediate str;

 

            exception

                when others then

                    rollback;

                    null;

            end;

        end loop;

        close c;

        commit;

    end if;   

   

    --enable trigger

    begin

        str:='ALTER TRIGGER ofsa_tab_columns_ar1 enable';

        execute immediate str;

    exception

        when others then

            null;

    end ;

end;

/

 

3.如需要在OFSA中现有的Instrument表上注册字段,则只需要执行该过程即可,注册成功或失败的信息记录在BOC_OFSA_LOG日志表中,可以根据时间和日志类型字段查看日志。

 

 

4.反向注册

CREATE OR REPLACE PROCEDURE UNREGEDIT_OFSA_COLUMN

(

   p_table_name in varchar2,

   p_column_name in varchar2

) as

    str varchar2(500);

    cursor c is select t.object_name from all_objects t

                where t.object_type='TABLE' and t.object_name like 'FEM_%' and t.owner='OFSA';

   

    v_table_name varchar2(35);

               

begin

    --all of the parameters are not allowed null

    if trim(p_column_name) is null then

        boc_ofsa_log_regedit('PROCEDURE','REGEDIT_OFSA_COLUMN','REGEDIT_OFSA_COLUMN','要反向注册的字段名不能为空',sysdate);

        return ;

    end if;

 

    if trim(p_table_name) is not null then

              -- add column name to table

              begin

                  str:='alter table '||p_table_name||' drop column '||p_column_name;

                  execute immediate str;

              exception

                  when others then

                      boc_ofsa_log_regedit('PROCEDURE','REGEDIT_OFSA_COLUMN',sqlcode,'反向注册失败,错误信息为:'||sqlerrm||', 请根据错误信息修改参数.',sysdate);

                  return ;

              end ;

              --regedit the ofsa information

              begin

                  delete from ofsa_tab_columns a where a.table_name=upper(p_table_name);

                  delete from ofsa_tab_columns_mls a where a.table_name=upper(p_table_name);

                 

                  commit;

                  boc_ofsa_log_regedit('PROCEDURE','REGEDIT_OFSA_COLUMN','REGEDIT_OFSA_COLUMN','成功反向注册表'||p_table_name||'中的字段'||p_column_name,sysdate);

              exception

                  when others then

                      boc_ofsa_log_regedit('PROCEDURE','REGEDIT_OFSA_COLUMN','REGEDIT_OFSA_COLUMN','操作OFSA_TAB_COLUMNS表时发生错误,反向注册失败,',sysdate);

                      rollback;

              end;

    else

        open c;

        loop

            fetch c into v_table_name;

            exit when c%notfound;

            begin

                str:='alter table '||v_table_name||' drop column '||p_column_name;

                begin

                    delete from ofsa_tab_columns t where t.table_name= v_table_name and t.column_name=upper(p_column_name);

                    delete from ofsa_tab_columns_mls t where t.table_name= v_table_name and t.column_name=upper(p_column_name);

                   

                    commit;

                    boc_ofsa_log_regedit('PROCEDURE','REGEDIT_OFSA_COLUMN','REGEDIT_OFSA_COLUMN','成功反向注册了表'||v_table_name||'中的字段'||p_column_name,sysdate);

                exception

                    when others then

                        boc_ofsa_log_regedit('PROCEDURE','REGEDIT_OFSA_COLUMN','REGEDIT_OFSA_COLUMN','操作ofsa_tab_column时发生错误,反向注册字段||p_column_name||失败',sysdate);

                end;

               

                execute immediate str;

 

            exception

                when others then

                    null;

            end;

        end loop;

        close c;

        commit;

    end if;   

 

end;

/

执行该存储过程,是否已经成功地反向注册了表的信息,在日志表中可以查到。

可以到PA模块的分摊的界面去查看相关字段是否已经执行成功.

 

Author:丁亚军

date: 2005-10-09

prplOS介绍 介绍prplOS是什么,特性、框架、编译等。 阅读详情

相关推荐

用Logisim搞定华科计组实验:单总线CPU设计从微程序到硬布线的保姆级通关攻略

本文详细介绍了如何使用Logisim完成华中科技大学计算机组成原理实验中的单总线CPU设计,涵盖从微程序控制器到硬布线控制器的完整实现过程。通过MIPS指令译码器设计、微程序控制原理、状态机实现等关键步骤的保姆级教程,帮助学生掌握CPU设计的核心技能,并提供Educoder平台提交与调试的实用技巧。

weixin_30897233的博客 476

【开发工具集】注册表相关说明及查询网站推荐——注册表字段说明网站

Windows 注册表字段详细说明的网站

此地无银 3377

GlobalPlatform Technology Secure Channel Protocol ‘03‘ 标准 - 安全通道协议简介

按照GlobalPlatform Technology Secure Channel Protocol '03' (SCP03)标准,描述了如何利用S-MAC,S-RMAC,S-ENC进行安全通信的过程。

mmmx777的专栏 6091

注册功能,简易的各字段验证方法

注册功能快速完成验证的功能

weixin_48104862的博客 284

别光看手册!手把手教你用SGM2036 LDO设计一个稳定3.3V转1.8V的MCU供电电路(附PCB布局避坑指南)

本文详细介绍了如何使用SGM2036 LDO设计一个稳定的3.3V转1.8V的MCU供电电路,包括需求分析、芯片选型、外围器件计算、PCB布局避坑指南及实测验证。通过实际案例和计算示例,帮助工程师快速掌握LDO应用技巧,确保系统电源稳定可靠。

weixin_42548893的博客 505

数字IC设计之时序分析基础概念汇总

时序分析主要有两种办法:静态时序分析: (static timing analysis,STA),是遍历电路存在的所有时序路径,根据给定工作条件(PVT)下的时序库.lib文件计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足约束要求,根据最大路径延时和最小路径延时找出违背时序约束的错误。

weixin_45230720的博客 5607

在前端 vue3项目中注册一个全局使用的字段

在 Vue 3 项目中,你可以通过创建一个自定义的全局应用实例来注册一个全局使用的字段。这样,你就成功地在 Vue 3 项目中注册了一个全局使用的字段。在前端 vue3项目中注册一个全局使用的字段。

galaxyJING的博客 385

数字经济新质生产力数字化转型数据要素流通交易解决方案:数据要素化演进路径与管理、公共数据授权运营平台体系、数据底座、典型应用场景

数字经济的发展依赖于数据要素的有效流通与交易,数字化转型的核心在于数据的全生命周期管理和价值释放。数据要素化通过数据资源化、资产化和资本化的“三化”过程,实现其经济与社会价值。数据管理涵盖采集、存储、加工、分析等环节,支持数据的度量与交换。公共数据、企业数据和个人数据通过场内、场外及二级市场交易实现资本化。公共数据开发利用面临隐私泄露、监督管理难等痛点,目标是构建授权运营平台体系,确保数据流通的安全与效率。平台体系包括统一门户、授权管理、运营管理、合规监督等核心功能,支持明文、密文和可信交换流通方式。数据底

weixin_44094929的博客 1003

OFSA中Instrument表的创建及注册

OFSA中Instrument表的创建及注册在OFSA系统中,4520以前使用的instrument表和4520以后即45r3中使用的instrument表的命名不同,在45r3的系统中,所有instrument表都是以FEM_开头,但是45r3中为了保持和以前的版本兼容,仍然保留有4520及以前版本的表。在系统安装好后,需要手工创建instrument 表,OFSA提供了一组脚本帮助用户创建这些

DINYA 1950

继电器管理策略(二)

介绍了电池管理系统中的继电器管理,包含控制和诊断

manjixingkong1234的专栏 419

北斗导航 | ChatGPT之RTK、RTD、ARAIM算法原理及程序代码(ChatGPT看你怎么回答,附部分代码)

ChatGPT之RTK、RTD、ARAIM算法原理及程序代码

尘世冰封的专栏 3679

iOS系类教程之用instruments来检验你的app

比较了好多关于instruments 还是发现老外写的比较牛逼.于是果断翻译过来.有能力的的可以去看英文原版,鼓励大家看原版资料远离二手教程。这里是原文   入门 为了节省大家的时间,提供一个演示的Demo给大家。代码传送门.   下载后解压然后用xcode打开。   编译运行APP后 然后在搜索框内输入任意词汇,点击结果你会看到下面的结果   正如你所见的,这个app很简单

备忘录-IOS知识等 1305

SAP 采购员参数及权限配置

若要控制采购员的参数缺省值或者权限,可以通过以下方式实现: 1、定义采购员缺省值(EVO) 路径:后台----物料管理---采购---环境数据---定义采购员的缺省值 点击图标,显示如下,查看参数配置ID: 查询到配置“定义采购员的缺省值”是通过ID “EVO”来配置的。进入页面建立配置: 按照需要配置新条目: 事务代码SU01进入用户配置页面,在用户“参数”页面配置前面设...

willieyuan的博客 7601

OFSA中增加Leaf的脚本

     在OFSA系统中, 有时候需要从多个维度展示数据,而系统中设置的维度可能不够, 这就要我们自己来添加一个展示的维度,即leaf. OFSA系统目录下提供了一个脚本可以用来在OFSA系统中增加一个leaf。改脚本的内容如下,执行该脚本先是在所有的Instrument表或Ledger表中增加leaf字段, 然后在OFSA中注册该字段。 部分内容加了注释。 PROCEDURE add_leaf

DINYA 1764

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

如何在OFSA中注册leaf

如何在OFSA中注册leaf在OFSA系统中,系统有AS_OF_DATE,GL_ACCOUNT_ID,ORG_UNIT_ID,COMMON_COA_ID,FINANCIAL_ELEMENT_ID等维度,可以从这几个维度进行对数据进行分析和展示,但是有的时候需要根据自己的情况及一些维度(LEAF),我们可以从OFDM中注册一个leaf,但是会非常麻烦,需要设置一些属性,但是我们可以使用OFSA提供的

DINYA 1752

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Seelen-UI 完整上手教程:平铺窗口、桌面小组件与主题定制一次配好

Seelen-UI 是 Windows 10/11 上免费开源的桌面环境,解决的核心问题只有一个:系统桌面默认"能用",但改不成你要的样子。它的平铺窗口管理器让窗口自动归位,桌面小组件常驻壁纸层,主题颜色跟着壁纸走。适合想把桌面重做成自己工作流形态的人。 ## 01 配完之后,你的桌面长这样 任务栏、Dock、开始菜单、通知面板全部由 Seelen-UI 自己的组件接管,可以整个关掉,也可以逐

gitblog_00879的博客 383

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

NautilusTrader量化交易终极指南-第6章第1节-领域模型-Instrument与InstrumentId

在NautilusTrader中,Instrument是交易标的的静态档案,定义合约属性如价格精度、最小变动单位等,为数据与交易提供合法性基础。其唯一标识InstrumentId由symbol.venue构成,如EUR/USD.SIM,跨交易所即为不同合约。所有数据(如报价、K线)与订单必须绑定Instrument,故须先注册Instrument再接入数据,否则引擎将因校验失败而报错。

83

基于 Truffle Instrument API 构建 GraalVM 代码覆盖率工具:Simple Tool 源码级全解析

本篇技术指南围绕 GraalVM 仓库中的 Simple Tool(simpletool)示例项目展开,深入讲解如何利用 Truffle Instrument API 实现一个语言无关(language-agnostic)的运行时代码覆盖率工具。读者将掌握 `TruffleInstrument` 生命周期、`SourceSectionFilter` 事件筛选、`ExecutionEventNode

gitblog_00543的博客 232

TVM Pass Infrastructure 深度解析:从 PassContext 到 Pass Instrument 的统一优化管线框架

本文是 Apache TVM 开源编译器框架中 **Pass Infrastructure(Pass 基础设施)** 的架构与实战指南。它以 [docs/arch/pass_infra.rst](https://link.gitcode.com/i/29607dcaf072fd9aa57dc72f475dc372) 为脉络,结合仓库内 `include/tvm/ir/transform.h`、`s

gitblog_01183的博客 227

Instrument Sans 字体全解析:Fontsource 可变字体轴、12 套风格化字符集与项目接入实践

Instrument Sans 是 Fontsource 收录的一款开源可变无衬线字体,专为 Instrument 品牌打造,以 neo-grotesque(新怪诞体)为灵感,在严谨的几何秩序中融入俏皮细节,并通过 `wght`/`wdth` 双可变轴与 12 套风格化字符集提供丰富的排版表现力。本文基于 Fontsource 仓库中该字体的官方描述与注册元数据,系统讲解其设计背景、可变字体技术规

gitblog_00446的博客 193

BBDown 使用指南:1 条链接下载 B 站视频,最高 8K 杜比视界

BBDown 是一个命令行式的哔哩哔哩视频下载器。贴一条视频链接,它把视频、音频、弹幕、字幕一次性存成本地文件,画质最高到 8K 与杜比视界。适合要备份课程、找无水印素材、批量整理收藏夹的人。 ## 开始之前 先备齐 4 样东西,能省掉后面一半的报错。 - **.NET 环境或预编译包**:装 dotnet tool 需本机有 .NET(项目目标框架为 net9.0),不想配环境就直接取 R

gitblog_00764的博客 410

Java:JavaAgent技术(java.instrument和java.attach)

本文详细介绍了Java Instrumentation机制,主要包括java.instrument和java.attach模块的核心架构、工作机制以及基于ASM的字节码操作实战。核心组件包括Agent代理、ClassFileTransformer转换器和Instrumentation实例。文章阐述了三种Agent启动方式:命令行启动、动态附加和可执行JAR内嵌,并对比了不同拦截时机(类加载前和类重定义)的能力边界。最后介绍了ASM框架的核心概念(ClassReader、ClassVisitor等)及其在字节

有术无道止于术,有道无术尚有可为。 895

Spring-Instrument与加载时织入:从字节码增强到AOP实战

在Java应用开发中,AOP(面向切面编程)常通过动态代理实现,但面对构造器、字段或非Spring托管对象时往往力不从心。Java Instrumentation机制提供了类加载阶段的字节码拦截与修改能力,结合ClassFileTransformer可实现加载时织入(Load-Time Weaving,LTW)。Spring-Instrument作为Spring体系中的底层支撑模块,通过InstrumentationSavingAgent保存JVM的Instrumentation实例,并由AspectJWe

weixin_30219613的博客 194

企业微信自动回复怎么配?WorkTool 免 root 上手指南

开会开到一半,群里有人 @你:"XX 那份文件发我一下"。你只能一边应付会议,一边手忙脚乱翻文件。WorkTool 做的就是企业微信自动化这件事:把手机里这个企微账号当成机器人来驱动,替你收消息、自动回复、发文件。它走安卓官方无障碍服务,不 hook、不改内存,手机不用 root。 ## 📲 一台手机三步跑通,权限一次开全 1. 备一台能装企业微信的安卓手机,把企微升到 4.0.2–4.1.

gitblog_00647的博客 361

gRPC Telemetry 可观测性体系深度解析:调用追踪、指标采集与统计导出的源码实现指南

本文以 gRPC 核心库(C++ 实现)中 [src/core/telemetry/AGENTS.md](https://link.gitcode.com/i/63b3ad4a59a824cec6ae75083e880110) 为骨架,系统拆解 gRPC 内置遥测(Telemetry)系统的整体架构与实现细节。你将了解到 gRPC 如何通过 CallTracer 追踪每一次 RPC 调用的完整生命

gitblog_00132的博客 768

Qlib CSV数据导入避坑指南:编码、时间、字段映射全解析

量化研究中,时间序列数据是回测与特征工程的基础,而CSV作为最通用的数据格式,常因编码不一致、时间格式不规范、字段命名不匹配等问题导致平台加载失败。Qlib虽提供标准化数据接口,但其底层对UTF-8编码、ISO标准日期、预定义特征字段(如$open、$close)有强约束,与国内主流数据源(Tushare、Wind、券商导出)存在天然错位。理解Qlib数据流本质——将原始CSV构建成支持多周期对齐的二进制时间序列数据库——是规避90%报错的关键。本文聚焦实际落地场景,覆盖GBK/UTF-8编码自动检测与转换

weixin_34197488的博客 268
上一篇: OFSA中Instrument表的创建及注册
下一篇: 如何在OFSA中注册leaf
dinya2003
博客等级 码龄23年 48粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值