CREATE FUNCTION dbo.f_str(@f_value_id varchar(10))
RETURNS varchar(100)
AS
BEGIN
DECLARE @re varchar(100)
SET @re=''
SELECT @re=@re+';'+CAST(f_value as varchar)
FROM zte_cmmia_rs_subp_pu
WHERE f_value_id=@f_value_id
RETURN(STUFF(@re,1,1,''))
END
RETURNS varchar(100)
AS
BEGIN
DECLARE @re varchar(100)
SET @re=''
SELECT @re=@re+';'+CAST(f_value as varchar)
FROM zte_cmmia_rs_subp_pu
WHERE f_value_id=@f_value_id
RETURN(STUFF(@re,1,1,''))
END
解决方案 »
- expdp/impdp表空间迁移问题
- SQLERROR: ORA-06553: PLS-306: wrong number or types of arguments in call to 'OGC_Y'
- 关于Oracle9i定时作业的一个问题
- Oracle的三层结构到底是什么意思啊?
- TNS-12560: TNS:协议适配器出现错误(服务器为red hat 8)
- oracle禁止修改和删除某条记录
- 统计出一个表内数据的字节数
- c/s结构的程序如何在不安装ORALE客户端的情况下运行??
- 进者有分,SQL高手请进!
- 关于Connect By性能优化
- 什么时候会用到动态sql语句,大家能举个例子吗?
- 关于索引表使用的问题
RETURNS varchar(100)
AS
re varchar(100) ;
BEGIN
re:='' ;
SELECT ';'||to_char(f_value)
into re
FROM zte_cmmia_rs_subp_pu
WHERE f_value_id=in_f_value_id ;
RETURN re
END
RETURNS varchar(100)
AS
re varchar(100) ;
BEGIN
re:='' ;
SELECT to_char(f_value)
into re
FROM zte_cmmia_rs_subp_pu
WHERE f_value_id=in_f_value_id ;
RETURN re ;
END
看了下stuff的意思,看样子是要把;滤掉,不知道你这个函数的意思是什么
RETURN VARCHAR2
AS
re varchar(100);
CURSOR v_c IS SELECT f_value
FROM zte_cmmia_rs_subp_pu
WHERE f_value_id=xx ;
BEGIN
FOR i IN v_c LOOP
re:=re||';'||i.f_value;
END LOOP;
RETURN TRIM(leading ';' FROM re);
END;
/