select function_name
into :var
from dual;

解决方案 »

  1.   

    to xiongying860421(文盲) sqlca.function get_shop('22.1658.001') get_shop是我自定义的ORACLE函数。我这么写出错,应该怎样写,请具体说说,谢谢了,先!
      

  2.   

    有参数
    select your_fu(para) into :l_values from dual;
    无参数 不要加()
    同liangliangbj(亮亮) ( ) 信誉:100
      

  3.   

    和调用oracle内带函数方法一样,例如:你可以:select count(*) from table1;
    (这里count(*)就是oracle的内带函数)当然,你也可以这样:select func(param) from table1;
    (其中,func(param)就是你自己定义的函数了。)
      

  4.   

    是内置函数就没区别,直接用SQL语句直接引用就可以
      

  5.   

    可以看作是从一个表中取数据
    select fun_name into :ls_temp from dual;
      

  6.   

    对不起啊,长时间没来看一看,因为我也在忙!
    具体操作可见《powerbuilder 7.0应用开发技术详解》第95页,利用事务对象调用存储过程。
    下面以默认事务对象SQLCA举一个例子:
    1、定义用户对象,略...
    2、在用户对象中声明外部存储过程,例oralce function "myString"
        function string myString(arg1...) RPCFUNC alias "dba.myString"
    3、sqlca.dbms="ora9i"
       sqlca.logid="scott"
       sqlca.logpass="***"
       sqlca.ServerName="oracle9"
       connect using sqlca
       if sqlca.sqlcode<> then
          MessageBox("连接失败",sqlca.SQLErrText)
          return
       end if
       string myName=""
       myName=sqlca.myString("???")
       MessageBox("提示信息",myName)
       disconnect最关键是第二步:
    a、在用户对象画板脚本视图中,从第一个列表框中选 declare,从第二个列表框中选择  local external functions
    b、光标放在 declare local external functions 视图中,从弹出式菜单或在edit菜单中选择paste special>sql>romte store procedure,powerbuilder将自动从数据库中装载存储过程,出现对话框,选择你要声明的存储过程就是了。OK,这回可以搞定了!
      

  7.   

    前面几位朋友说的方法我试过了,好用,谢谢各位。
    只是: xiongying860421(文盲) 您说的第二步中paste special>sql>romte store procedure
    我试用时romte store procedure一项是灰色的不可用,怎么回事啊
      

  8.   

    哪只能说明你的powerbuilder与数据库没有连上。不过,你也要注意你的版本上应打的补丁,不要紧,在你的模块的声明部分照我写的第二步的声明一下就行了!声明存储过程的方法是:SUBROUTINE procedurename({REF}datatype1 arg1,...) RPCFUNC {AILAS FOR "spname"}

    FUNCTION rtndatatype functionname({REF}datatype1 arg1,...) RPCFUNC {AILAS FOR "spname"}
    有什么不同?需要注意的是:1、数据库的过程应是用双引号的,格式应是,所有者.过程名。2、RPCFUNC 不能少,它告诉PB是远程过程调用。
      

  9.   

    看秋你和我一样,水平不高!还有一个问题:
    如果不没有运行一个catalog.sql脚本,你的PB根本连不上数据库,请参考ORACLE的catalog.sql文件的路径Oracle\oraX\rdbms\admin\catalog.sql
      

  10.   

    我的PB可以连上数据库,程序都可以运行了,catalog.sql也在数据库创建伊始就运行过了。不过没关系,我已经学会两种简单的调用方法了。谢谢大家了。