CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他数据库开发 >  SQL Anywhere Studio

oracle procedure

楼主ChinaCoo(china)2001-07-10 17:29:06 在 其他数据库开发 / SQL Anywhere Studio 提问

我用delphi和oracle在开发时,遇到如下问题,向大家请教!]  
  CREATE   PROCEDURE   ADD_NEW   (  
    p_id   in   integer,  
    p_name   in   char,  
    p_addr   in   char)  
    IS  
   
    begin  
    insert   into   test_table   values(p_id,p_name,p_addr);  
    commit;  
    end   add_new;  
   
  在sql   plus中出现编译错误,why?  
  help   me!20分送上  
  问题点数:22、回复次数:19Top

1 楼sdfh(闻香识女人)回复于 2001-07-10 17:41:51 得分 0

函数必须有return   子句,并且p_id类型应该为numberTop

2 楼sdfh(闻香识女人)回复于 2001-07-10 17:44:13 得分 0

sorry,看错了,过程不需要返回值。Top

3 楼sdfh(闻香识女人)回复于 2001-07-10 17:54:03 得分 0

呵呵,都不是以上的问题,看来你的表建得有问题。Top

4 楼ChinaCoo(china)回复于 2001-07-10 17:56:41 得分 0

SQL>   create   or   replace   add_new(  
      2     p_id   in   number,  
      3     p_name   in   char,  
      4     p_addr   in   char)  
      5     is  
      6     begin  
      7     insert   into   test_table(p_id,p_name,p_addr)  
      8     end;  
  create   or   replace   add_new(  
                                      *  
  错误位于第1行:  
  ORA-00922:   缺少或无效选项Top

5 楼ChinaCoo(china)回复于 2001-07-10 18:00:18 得分 0

表会有什么问题呢?在DELPHI   SQL   EXPLORER下可添删数据,DELPHI下也可查询Top

6 楼dragonerfish(jimmyyu)回复于 2001-07-10 18:22:21 得分 0

查一下test_table的表结构.Top

7 楼guostong(笨驴)回复于 2001-07-10 18:23:05 得分 0

create   or   replace   procedure   add_new(  
      Top

8 楼guo(itpub.net)回复于 2001-07-10 18:57:17 得分 0

还是guostong,一眼就看出来了.Top

9 楼ChinaCoo(china)回复于 2001-07-11 09:15:49 得分 0

i'm   sorry   上次写错啦  
   
  SQL>   create   or   replace   procedure   add_new(  
      2       2     p_id   in   number,  
      3       3     p_name   in   char,  
      4       4     p_addr   in   char)  
      5       5     is  
      6       6     begin  
      7       7     insert   into   test_table(p_id,p_name,p_addr)  
      8       8     end;  
      9     /  
   
  警告:已创建的过程出现编译错误。Top

10 楼ChinaCoo(china)回复于 2001-07-11 09:27:03 得分 0

错误为(show   error里):  
  8     2     PLS-00103:   出现"end"符号在下列需要时:  
              (selectvalues  
   
  Top

11 楼ChinaCoo(china)回复于 2001-07-11 09:28:02 得分 0

请各位大虾不吝赐教!先谢了!Top

12 楼michaelzhang(一个贫穷的农民,啥时候才能象城里人一样)回复于 2001-07-11 10:12:16 得分 0

这么简单的问题,这么多高手都没看出来!!!!!!  
  err1:   差values  
  err2:   结尾要";"  
  create   or   replace   procedure   add_new(  
        p_id   in   number,  
        p_name   in   char,  
        p_addr   in   char)  
        is  
        begin  
        insert   into   test_table   values(p_id,p_name,p_addr);  
        end;  
        /  
   
  Top

13 楼sdfh(闻香识女人)回复于 2001-07-11 11:55:05 得分 0

肯定又是笔误,题目上的一段程序我运行过没问题,可能还是因为表的域跟插入语句不对应。Top

14 楼bjwan(bjwan)回复于 2001-07-11 13:17:47 得分 0

把test_table的表结构给出来看一看!Top

15 楼yzyun(AMANI NAKUPENDA~WE~)回复于 2001-07-11 13:43:27 得分 22

都什么年代了?还用CHAR呢?最好用varchar2  
  下面的如果错了,那么一定是见了鬼了!  
  create   or   replace   procedure   add_new(  
      p_id   in   number,  
      p_name   in   char,  
      p_addr   in   char)  
  is(或   as   )  
      begin  
                insert   into   test_table   values   (p_id,p_name,p_addr);  
  end;  
  Top

16 楼ChinaCoo(china)回复于 2001-07-11 14:12:54 得分 0

CREATE   TABLE   LIUDZH.TEST_TABLE   (  
      NAME   VARCHAR2(16),  
      BIANHAO   NUMBER(16,   0),  
      DWXZH   VARCHAR2(16),  
      LXPZ   NUMBER(16,   0),  
      SFBD   VARCHAR2(16)  
  )    
      TABLESPACE   USER_DATA    
      PCTFREE   10    
      PCTUSED   40    
      INITRANS   1    
      MAXTRANS   255    
      STORAGE   (INITIAL   10240    
          NEXT   10240    
          MINEXTENTS   1    
          MAXEXTENTS   121    
          PCTINCREASE   50    
          FREELISTS   1    
          FREELIST   GROUPS   1)Top

17 楼ChinaCoo(china)回复于 2001-07-11 14:18:04 得分 0

to   yzyun   我试过啦,好像还有问题,谢过各位!  
   
  SQL>   create   or   replace   procedure   add_new(  
      2     p_id   in   number,  
      3     p_name   in   varchar2,  
      4     p_addr   in   varchar2)  
      5     is  
      6     begin  
      7     insert   into   test_table(p_id,p_name,p_addr);  
      8     commit;  
      9     end;  
    10     /  
   
  警告:已创建的过程出现编译错误。Top

18 楼ChinaCoo(china)回复于 2001-07-11 14:22:44 得分 0

SQL>     create   or   replace   procedure   add_new(  
      2       p_id   in   number,  
      3       p_name   in   varchar2,  
      4       p_addr   in   varchar2)  
      5       is  
      6       begin  
      7       insert   into   liu_table(p_id,p_name,p_addr);  
      8       commit;  
      9       end;  
    10     /  
   
  警告:已创建的过程出现编译错误。  
   
  表结构是这样:  
   
  CREATE   TABLE   LIUDZH.LIU_TABLE   (  
      ID   NUMBER(16,   0)   NOT   NULL,  
      NAME   VARCHAR2(16),  
      ADDR   VARCHAR2(40)  
  )    
      TABLESPACE   USER_DATA    
      PCTFREE   10    
      PCTUSED   40    
      INITRANS   1    
      MAXTRANS   255    
      STORAGE   (INITIAL   10240    
          NEXT   10240    
          MINEXTENTS   1    
          MAXEXTENTS   121    
          PCTINCREASE   50    
          FREELISTS   1    
          FREELIST   GROUPS   1)Top

19 楼netwolf()回复于 2001-07-16 18:06:28 得分 0

又缺少values了,加上就通过了Top

相关问题

  • about oracle procedure
  • oracle procedure,help me
  • oracle procedure 帮帮我
  • 请教oracle 8i procedure
  • Oracle过程创建器Oracle Procedure Builder
  • oracle关于 procedure的。在线!
  • 刚学oracle Procedure 搞不定????
  • oracle
  • Oracle for ?
  • ORACLE

关键词

  • 编译
  • delphi
  • sql
  • addr
  • freelist
  • varchar
  • 警告
  • 表
  • procedure add
  • 问题

得分解答快速导航

  • 帖主:ChinaCoo
  • yzyun

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo