关于存储过程得到字符串的问题?

问题描述

mis_data.dept_status的表数据id1234创建如下存储过程:create or replace procedure testasa varchar(20);beginfor new in(select * from mis_data.dept_status)loopa:=new.belong_region;a:=a||','; end loop; dbms_output.put_line(a); end;这样的话结果是4,那我要的结果是1,2,3,4要怎么做?

解决方案

你的这句a:=new.belong_region; 当然取到的只是最后一个,然后加了一个逗号,这样写试试create or replace procedure test as a varchar(20);b varchar(20); begin for new in(select * from mis_data.dept_status) loop a:=a||new.belong_region','; end loop; dbms_output.put_line(a); end;

时间: 2024-10-04 16:29:46

关于存储过程得到字符串的问题?的相关文章

请教mysql存储过程分割字符串做关联

问题描述 请教mysql存储过程分割字符串做关联 假如有两个表表一:id pid1 pid1pid22 pid2pid5pid63 pid34 pid4pid1...... 表二:pid pnamepid1 aaa pid2 bbbpid3 cccpid4 dddpid5 eeepid6 ggg...... 假如我想要通过存储过程计算表1中包含pname=ddd的记录的行数,按这样的表结构,请教是否可以实现?怎么实现呢? 解决方案 把你第一个表拆成以下形式.1 pid12 pid22 pid22

sql server-sqlserver存储过程 分割字符串再组装

问题描述 sqlserver存储过程 分割字符串再组装 有三个字符串.比如.A="440,441,442,443",B="a,b,c,d" ,C="1,2,3,4".三个字符串里面的值是一一对应的. 在存储过程里面如何把这三个字符串分割之后然后组装成 440,a,1;441,b,2;442,c,3;443,d,4; 最好有一个规范的.多谢了. 解决方案 CREAT PROCEDURE [dbo].[Pro_STR] @A nvarchar(200

oracle存储过程-Oracle存储过程 截取字符串循环执行动作 急急急急!

问题描述 Oracle存储过程 截取字符串循环执行动作 急急急急! create or replace procedure PROC_UPDATENEWSKW(newsid in number, kw in varchar2) is i number:=0; begin /** 1.查询标签表(jc_content_tag)是否有相同tag_name的标签,如果有则直接将此条记录的tag_id与newsid 插入jc_contenttag(新闻标签关联表)表/ select count() in

sql 执行存储过程-sql 字符串执行存储过程

问题描述 sql 字符串执行存储过程 insert into #t exec [acwh].dbo.[ud_GetStore] '2014-05-01','2014-08-01' 这样可以运行,但是由于 数据库(acwh)名字是参数,我想把它整个拼接成字符串,要怎么做 解决方案 declare @sqlText varchar(max) set @sqlText='' @sqlText='insert into #t;exec'+@acwh+'dbo.[ud_GetStore]''+... @a

用于执行(计算) 字符串表达式 的 T-SQL 存储过程

存储过程|执行|字符串 create procedure sp_CalcExpression@Expression varchar(8000),@ decimal(10,2) outasdeclare @sql nvarchar(4000)set @sql = N'set @ = ' + @Expressionexec SP_EXECUTESQL @sql ,N'@ decimal(10,2) out', @ outselect @ --=============================

利用MSSQL存储过程处理“,”分隔字符串,并写入数据表

存储过程|数据|字符串 前几天我遇到一个问题,在处理程序文件下发过程中重复在数据库中生成一组数据,但操作过程中很可能会发生SqlConnect连接超时问题,于是用存储过程解决这个问题:create procedure InsertDocx(@p_struserid varchar(4000),@sDocid varchar(50))AS--本存储过程处理用户发送文件下发功能--定义输入参数:--@p_struserid:输入userid以","分隔的字符串,--如:00001,0000

模拟字符串处理函数 stuff 的存储过程,对 ntext 字段进行stuff .

存储过程|函数|字符串 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_stuff]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [dbo].[p_stuff]GO /*--Ntext字段处理 模拟字符串处理函数 stuff完成表中 ntext 字段的 stuff 处理注意,表中需要有列名为:id 的主键(或标识字段),数据类

oracle存储过程字符串数组参数得不到值?

问题描述 应用程序传递到oracle存储过程的字符串数组参数得不到值,都是空值.但是number数组没有问题?请问各位兄弟姐妹,有什么解决的办法?下面是我的代码:/**自定义number数组**/createorreplacetypearray_numistableofnumber;/**自定义varchar2数组**/createorreplacetypearray_varchar2_50istableofvarchar2(50);/**测试存储过程**/createorreplaceproc

substring-c# 截取字符串的问题 如果在一串字符中id 在100行

问题描述 c# 截取字符串的问题 如果在一串字符中id 在100行 c# 截取字符串的问题 如果在一串字符中id 在100行 我要获取id后面的10个数字 请问怎么截取呢 解决方案 string[] lines = s.Split(new string[] {"rn"}, StringSplitOptions.None); string s = lines[99]; string result = Regex.Match(s, "(?<=id)\d{10}")