行号=1列号41 出现符号"@"在需要下列之一时: an identifier a double-quoted delimited-identifier

wch_212 2009-12-03 08:39:25
create or replace procedure "proc_colushengshi"(@tablename in varchar2(50),@begintime in varchar2(6),@endtime in varchar2(6))
as
begin
declare @begin_yy integer(4);
declare @begin_mm integer(2);
@begin_yy:=to_number(substr(@begintime,0,4));
@begin_mm:=to_number(substr(@begintime,5,2));
loop
begin
@tablename:=@tablename||to_char(@begin_yy)||(decode(length(@begin_mm),1,'0'||to_char(@begin_mm),2,to_char(@begin_mm)));
ALTER TABLE @tablename ADD SHENG VARCHAR(50) NULL add SHI VARCHAR(50) NULL;
update @tablname set sheng='吉林省',shi='长春市'
@begin_yy:=@begin_yy+1;
@begin_mm:=@begin_mm+1;
if @begin_yy>to_number(substr(@endtime,0,4)) then
begin
exit loop;
end;
end if;
if @begin_mm=12 then
begin
@begin_mm:=1;
end;
end if;
end;
end loop;
commit;
end proc_colushengshi;



整不明白了,一编译就提示这个信息。
...全文
286 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zcs_1 2009-12-03
  • 打赏
  • 举报
回复
给楼主改造了一下,不过可能不对,这要对SQL SERVER和ORACLE的存储过程都熟悉才行,如果有什么错楼主自己修改一下吧

create or replace procedure proc_colushengshi(tablename in varchar2,begintime in varchar2,endtime in varchar2)
as
begin_yy number(4);
begin_mm number(2);
begin
begin_yy:=to_number(substr(begintime,0,4));
begin_mm:=to_number(substr(begintime,5,2));
loop
begin
tablename:=tablename||to_char(begin_yy)||(decode(length(begin_mm),1,'0'||to_char(begin_mm),2,to_char(begin_mm)));
--ALTER TABLE @tablename ADD SHENG VARCHAR(50) NULL add SHI VARCHAR(50) NULL;
update tablname set sheng='吉林省',shi='长春市';
begin_yy:=begin_yy+1;
begin_mm:=begin_mm+1;
if begin_yy>to_number(substr(endtime,0,4)) then
begin
exit loop;
end;
end if;
if begin_mm=12 then
begin
begin_mm:=1;
end;
end if;
end;
end loop;
commit;
end proc_colushengshi;
wch_212 2009-12-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 47522341 的回复:]
oracle的procedure中定义变量不用@

[/Quote]

参数里吗?还是哪儿?要怎么改?
47522341 2009-12-03
  • 打赏
  • 举报
回复
oracle的procedure中定义变量不用@
zjwssg 2009-12-03
  • 打赏
  • 举报
回复
这是oracle区

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧