在工作中要对非常复杂的excel进行解析,文件内容为一个
矩阵表格
,对行和列都要进行转换,须要得到动态表格的列名称,根据每次上传的数据内容,每次上传的数据格式可能都不一样
根据列名序号,列名名称和列名的值进行业务逻辑的处理。
declare
v_key varchar(100);
v_value varchar(100);
v_record record;
v_data1 record;
hs_row record;
begin
--得到列号的序号
for v_data1 in ( select excel_column_a ,excel_column_b ,excel_column_c from upload_file_matrix ) loop
FOR hs_row IN SELECT kv."key", kv."value" FROM each(hstore(v_data1)) kv
v_key = hs_row."key";
v_value = hs_row."value";
raise notice ' key :%', v_key;
raise notice ' value :%', v_value;
END LOOP;
end loop;
end ;
业务需求:需要创建一个存储过程调度五个存储过程,思路使用FOR循环获取
表
名,由于存储过程是P_加
表
名,定义一个变量获取存储过程名。
执
行
存储过程必须判断task
表
里执
行
的状态,如果是0则执
行
存储过程,并更新task里的状态
和
执
行
时间。
在此遇见两个问题:oracle
和
POSTSQL还是有很大区别的
遇见一个错误:
1、在执
行
select into SQL语句的时候会报错,解决方法:先定义一个SQ
CREATE OR REPLACE FUNCTION p_fx_*** ( OUT v_row INTEGER, OUT v_rote varchar(50), OUT v_log varchar(50))
AS $$
DECLARE
BEGIN
select count(*) into v_row from *插入
表
的名字*;
v_rote := ...
@Test
public void testObjectAccess() throws Exception{
TransJdbcTemplate lvTj = ContextHolder.getTransJdbcTemplate();
Exception lvException= lvTj.doTransactionBatch(new TransCallback() {
@Over...
中说的方法,强
行
在mysql上实现的,无奈还是太麻烦,相当一部分SQL需要改造,由于是新产品,干脆来个釜底抽薪,换
PostgreSQL
得了!
由于现在
PostgreSQL
用的人少,不想这么优秀的
数据库
被大家(尤其中国的程序员)忽视,把自己的一点心得贡献一下,希望能对
PostgreSQL
推广起点作用吧!
废话不说,看代码吧(测试
表
、测试数据都包含了,你准备好ps...
《
PostgreSQL
流程—查询》
在《
PostgreSQL
流程—查询》我们重点讨论了
PostgreSQL
的查询流程,提到全
表
遍历
的操作主要有函数SeqNext来实现,本文将重点讨论SeqNext的流程。
SeqNext
SeqNext的代码比较短,我们直接来看代码:
static TupleTableSlot *
SeqNext(SeqScanState *node)
HeapTuple tuple;
HeapScanDesc scandesc;
EState
PL/pgSQL从入门到放弃(3)-函数
PL/pgSQL从入门到放弃(4.1)-函数返回常用数据类型——组合数据类型
PL/pgSQL从入门到放弃(4.2)-函数返回常用数据类型——
行
数据类型
PL/pgS...