oracle存储过程编译出错,请大家帮忙

xuxinlu001 2010-09-22 11:01:05
错误提示如下:
Warning: 执行完毕, 但带有警告
PROCEDURE ArticleMain_InsertUpdate 已编译。
请大家帮忙解决,谢谢

--CREATE SEQUENCE s_ArticleMain_ID NOCACHE;
create or replace PROCEDURE ArticleMain_InsertUpdate
(
p_aID in integer,
p_aNameMian in nvarchar2,--主标题
p_aNameSub in nvarchar2,--副标题
p_aStyle in nvarchar2,--标题样式
p_aSummary in nvarchar2,--简介
p_aTags in nvarchar2,--关键词(以“,”号隔开)
p_aFrom in nvarchar2,--资讯来源
p_aAuthor in nvarchar2,--作者
p_aTitle in nvarchar2,--标题
p_aMetakeywords in nvarchar2,--关键词
p_aMetadesc in nvarchar2,--描述
p_aIsPicture in number,--是否组图
p_aPicture in nvarchar2,--图片地址
p_aIsRss in number,--是否允许rss订阅
p_aIsTop in number,--是否置顶
p_aIsCommend in number,--是否推荐
p_aIsComment in number,--是否评论
p_aIsCharge in number,--是否收费
p_aIsURI in number,--是否外链
p_aActionURI in nvarchar2,--链接地址
p_aIsLock in number,--是否锁定
p_aIsDelete in number,--是否删除
p_aStatus in number,--审核状态
p_aEditor in nvarchar2,--编辑者
p_result out INTEGER
) AS
v_article_id INTEGER;
v_sql nvarchar2(2000);
BEGIN
IF p_aID <= 0 THEN
v_article_id := s_ArticleMain_ID.nextval;
INSERT INTO ArticleMain VALUES(
v_article_id,
p_aNameMian,
p_aNameSub,
p_aStyle,
p_aSummary,
p_aTags,
p_aFrom,
p_aAuthor,
p_aTitle,
p_aMetakeywords,
p_aMetadesc,
p_aIsPicture,
p_aPicture,
p_aIsRss,
p_aIsTop,
p_aIsCommend,
p_aIsComment,
p_aIsCharge,
p_aIsURI,
p_aActionURI,
p_aIsLock,
p_aIsDelete,
p_aStatus,
p_aEditor,
SYSDATE,
SYSDATE
);
p_result := v_article_id;
COMMIT;
ELSE
v_article_id := p_aID;
v_sql := 'UPDATE ArticleMain SET ';
IF p_aNameMian <> '' THEN
v_sql := v_sql || 'aNameMian = ' || p_aNameMian || ',';
ELSE IF p_aNameSub <> '' THEN
v_sql := v_sql || 'aNameSub = ' || p_aNameSub || ',';
ELSE IF p_aStyle <> '' THEN
v_sql := v_sql || 'aStyle = ' || p_aStyle || ',';
ELSE IF p_aSummary <> '' THEN
v_sql := v_sql || 'aSummary = ' || p_aSummary || ',';
ELSE IF p_aTags <> '' THEN
v_sql := v_sql || 'aTags = ' || p_aTags || ',';
ELSE IF p_aFrom <> '' THEN
v_sql := v_sql || 'aFrom = ' || p_aFrom || ',';
ELSE IF p_aAuthor <> '' THEN
v_sql := v_sql || 'aAuthor = ' || p_aAuthor || ',';
ELSE IF p_aTitle <> '' THEN
v_sql := v_sql || 'aTitle = ' || p_aTitle || ',';
ELSE IF p_aMetakeywords <> '' THEN
v_sql := v_sql || 'aMetakeywords = ' || p_aMetakeywords || ',';
ELSE IF p_aMetadesc <> '' THEN
v_sql := v_sql || 'aMetadesc = ' || p_aMetadesc || ',';
ELSE IF p_aIsPicture >= 0 THEN
v_sql := v_sql || 'aIsPicture = ' || TO_CHAR(p_aIsPicture) || ',';
ELSE IF p_aPicture <> '' THEN
v_sql := v_sql || 'aPicture = ' || p_aPicture || ',';
ELSE IF p_aIsRss >= 0 THEN
v_sql := v_sql || 'aIsRss = ' || TO_CHAR(p_aIsRss) || ',';
ELSE IF p_aIsTop >= 0 THEN
v_sql := v_sql || 'aIsTop = ' || TO_CHAR(p_aIsTop) || ',';
ELSE IF p_aIsCommend >= 0 THEN
v_sql := v_sql || 'aIsCommend = ' || TO_CHAR(p_aIsCommend) || ',';
ELSE IF p_aIsComment >= 0 THEN
v_sql := v_sql || 'aIsComment = ' || TO_CHAR(p_aIsComment) || ',';
ELSE IF p_aIsCharge >= 0 THEN
v_sql := v_sql || 'aIsCharge = ' || TO_CHAR(p_aIsCharge) || ',';
ELSE IF p_aIsURI >= 0 THEN
v_sql := v_sql || 'aIsURI = ' || TO_CHAR(p_aIsURI) || ',';
ELSE IF p_aActionURI <> '' THEN
v_sql := v_sql || 'aActionURI = ' || p_aActionURI || ',';
ELSE IF p_aIsLock >= 0 THEN
v_sql := v_sql || 'aIsLock = ' || TO_CHAR(p_aIsLock) || ',';
ELSE IF p_aIsDelete >= 0 THEN
v_sql := v_sql || 'aIsDelete = ' || TO_CHAR(p_aIsDelete) || ',';
ELSE IF p_aStatus >= 0 THEN
v_sql := v_sql || 'aStatus = ' || TO_CHAR(p_aStatus) || ',';
ELSE IF p_aEditor THEN
v_sql := v_sql || 'aEditor = ' || p_aEditor || ',';
END IF;
v_sql := v_sql || 'aUpdate = ' || TO_CHAR(SYSDATE) || ' ';
v_sql := v_sql || ' WHERE aID = ' || TO_CHAR(v_article_id);
EXECUTE IMMEDIATE v_sql;
p_result := v_article_id;
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
END ArticleMain_InsertUpdate;
/
-------------------以下是建表sql---------------------
create table ArticleMain
(
aID integer Constraint ArticleMain_pk primary key,
aNameMian nvarchar2(60) default '' not null,--主标题
aNameSub nvarchar2(120) default '' not null,--副标题
aStyle nvarchar2(50) default '' not null,--标题样式
aSummary nvarchar2(500) default '' not null,--简介
aTags nvarchar2(500) default '' not null,--关键词(以“,”号隔开)
aFrom nvarchar2(50) default '' not null,--资讯来源
aAuthor nvarchar2(50) default '' not null,--作者
aTitle nvarchar2(220) default '' not null,--标题
aMetakeywords nvarchar2(220) default '' not null,--关键词
aMetadesc nvarchar2(220) default '' not null,--描述
aIsPicture number(1) default '' not null,--是否组图
aPicture nvarchar2(220) default '' not null,--图片地址
aIsRss number(1) default 0 not null,--是否允许rss订阅
aIsTop number(1) default 0 not null,--是否置顶
aIsCommend number(1) default 0 not null,--是否推荐
aIsComment number(1) default 0 not null,--是否评论
aIsCharge number(1) default 0 not null,--是否收费
aIsURI number(1) default 0 not null,--是否外链
aActionURI nvarchar2(220) default '' not null,--链接地址
aIsLock number(1) default 0 not null,--是否锁定
aIsDelete number(1) default 0 not null,--是否删除
aStatus number(1) default 0 not null,--审核状态
aEditor nvarchar2(50) default '' not null,--编辑者
aAddTime date default sysdate,--添加时间
aUpdate date default sysdate--修改时间
);
/
...全文
122 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
else if
改成elsif
Phoenix_99 2010-09-23
  • 打赏
  • 举报
回复
else if
改成elsif

v_sql nvarchar2(2000);改为varchar2(2000)
iqlife 2010-09-22
  • 打赏
  • 举报
回复
警告还是错误?
警告无所谓啊,是不是有变量没有用到?

17,377

社区成员

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

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