谢谢各位大侠create or replace procedure IDCARD(p_OldID varchar2) return varchar2 is type TIArray is table of integer;
type TCArray is table of char(1);
Result varchar2(50);
W TIArray;
A TCArray;
S integer;
begin
if p_OldID is null then
return '';
end if;
if Length(p_OldID) <> 15 then
return p_OldID;
end if;
W := TIArray(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1);
A := TCArray('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
Result := SubStr(p_OldID, 1, 6) || '19' || SubStr(p_OldID, 7, 9); S := 0;
begin
for i in 1 .. 17 loop
S := S + to_number(SubStr(Result, i, 1)) * W(i);
end loop;
exception
when others then
return '';
end;
S := S mod 11;
Result := Result || A(s + 1);
return(Result);
end IDCARD;谢谢各位大侠PROCEDURE BOCM.IDCARD 编译错误错误:PLS-00103: 出现符号 "RETURN"在需要下列之一时:
; is with authid as
cluster order using external deterministic parallel_enable
pipelined
符号 "authid在 "RETURN" 继续之前已插入。
行:1
文本:create or replace procedure IDCARD(p_OldID varchar2) return varchar2 is谢谢各位大侠
type TCArray is table of char(1);
Result varchar2(50);
W TIArray;
A TCArray;
S integer;
begin
if p_OldID is null then
return '';
end if;
if Length(p_OldID) <> 15 then
return p_OldID;
end if;
W := TIArray(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1);
A := TCArray('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
Result := SubStr(p_OldID, 1, 6) || '19' || SubStr(p_OldID, 7, 9); S := 0;
begin
for i in 1 .. 17 loop
S := S + to_number(SubStr(Result, i, 1)) * W(i);
end loop;
exception
when others then
return '';
end;
S := S mod 11;
Result := Result || A(s + 1);
return(Result);
end IDCARD;谢谢各位大侠PROCEDURE BOCM.IDCARD 编译错误错误:PLS-00103: 出现符号 "RETURN"在需要下列之一时:
; is with authid as
cluster order using external deterministic parallel_enable
pipelined
符号 "authid在 "RETURN" 继续之前已插入。
行:1
文本:create or replace procedure IDCARD(p_OldID varchar2) return varchar2 is谢谢各位大侠
解决方案 »
- 怎么获取各个时间段的费率,尤其是跨天时SQL的拼写--银行手续费
- oracle将什么复制到回滚段??
- linux下Oracle 11g的监听无法启动
- linux脚本中的sql语法...
- 视图的问题
- 如何查看BLOB内容?
- 请问如何再一个存储过程中调用另一个存储过程,和如何用sql/plus调试存储过程呀,和用什么命令可以显示错误
- 关于ORACLE中单个表分段的问题
- 请问nuique 与 primary key 有何异同?以下是我的结论,还有其它吗?
- 在红旗linux4.0上安装oracle的中文乱码问题?我的oracle字符集应该没错是zhs16gbk,吐血等待...
- oracle异常范围
- 在不知道表结构的情况下,如果用存储过程把表数据写入CSV文件
create or replace function IDCARD(p_OldID varchar2) return varchar2 is type TIArray is table of integer;
type TCArray is table of char(1);
Result varchar2(50);
W TIArray;
A TCArray;
S integer;
begin
if p_OldID is null then
return '';
end if;
if Length(p_OldID) <> 15 then
return p_OldID;
end if;
W := TIArray(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1);
A := TCArray('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
Result := SubStr(p_OldID, 1, 6) || '19' || SubStr(p_OldID, 7, 9); S := 0;
begin
for i in 1 .. 17 loop
S := S + to_number(SubStr(Result, i, 1)) * W(i);
end loop;
exception
when others then
return '';
end;
S := S mod 11;
Result := Result || A(s + 1);
return(Result);
end IDCARD;
改为:
create or replace procedure IDCARD(p_OldID in varchar2,o_outpara OUT VARCHAR2) is。
看看
可以用out 参数可以用function