gpt4 book ai didi

java - 无法使用此类数据类型创建 Oracle 函数

转载 作者:行者123 更新时间:2023-12-01 19:57:05 26 4
gpt4 key购买 nike

请帮助我,如何创建具有以下数据类型的函数?

create or replace FUNCTION              "SUSPENDTIME" 
(
keydate in types.char10,
keytime in types.char8)

由于找不到数据类型而出现错误。

我尝试创建以下类型但不起作用

创建或替换 TYPE 类型为 OBJECT ( char10 char(10)、char8 char(8)、char6 char(6)、 char1 char(1)、char2 char(2)、char21 char(21) );

行/列:1/42 PLS-00201:必须声明标识符“TYPES.CHAR10”

最佳答案

这可能只是

create or replace function suspendtime (keydate in varchar2,
keytime in varchar2)

不过,也许它甚至可以是单个参数:

create or replace function suspendtime (keydatetime in date)
<小时/>

[编辑:看到您的评论后]

它看起来像是用户定义的类型集合。像这样的事情:

名称为types的包,其中包含某些子类型:

SQL> create or replace package types as
2 subtype char10 is varchar2(10);
3 subtype num81 is number(8, 1);
4 end types;
5 /

Package created.

使用这些类型的函数:

SQL> create or replace function f_test (par_ename in types.char10)
2 return types.num81
3 is
4 retval number;
5 begin
6 select sal into retval
7 from emp
8 where ename = par_ename;
9 return retval;
10 end;
11 /

Function created.

有效果吗?

SQL> select f_test('KING') from dual;

F_TEST('KING')
--------------
5000

SQL>

是的,确实如此。

<小时/>

因此,如果您想使用 types.char10 及类似内容,则必须首先创建它们。如果没有,您就不能期望 SUSPENDTIME 函数能够编译。

关于java - 无法使用此类数据类型创建 Oracle 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59032627/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com