Oracle SQL函数/函数执行给出错误代码900 SQL Developer
我在SQLDeveloper中编译了以下函数,在Oracle11GR2DB上没有错误。它主要只是一个测试函数,稍后将构建它,但它的目的是接收文本值和类别值,其中文本可能是Hello,类别是French,结果应该是BonjourOracle SQL函数/函数执行给出错误代码900 SQL Developer,sql,function,oracle11g,oracle-sqldeveloper,Sql,Function,Oracle11g,Oracle Sqldeveloper,我在SQLDeveloper中编译了以下函数,在Oracle11GR2DB上没有错误。它主要只是一个测试函数,稍后将构建它,但它的目的是接收文本值和类别值,其中文本可能是Hello,类别是French,结果应该是Bonjour create or replace FUNCTION testTranslate ( originaltext IN VARCHAR2, fineoscategory IN VARCHAR2 DEFAULT NULL) RETU
create or replace FUNCTION testTranslate
(
originaltext IN VARCHAR2,
fineoscategory IN VARCHAR2 DEFAULT NULL)
RETURN VARCHAR2
AS
translatedttext VARCHAR2(255) := '';
BEGIN
SELECT distinct tti.translatedtex
INTO translatedttext
FROM toctranslationitem tti,
todomaininstance tdi
WHERE tti.translationty = fineoscategory
AND tti.originaltext = originaltext;
RETURN translatedttext;
END;
我以前从未使用过SQL Developer,我只是开始熟悉创建函数,所以我不完全确定如何运行它
我尝试了以下方法:
testTranslate('Hello', 'French');
execute testTranslate('Hello', 'French');
Begin
testTranslate('Hello', 'French');
end;
前两个给我错误900无效SQL语句,第三个给我错误6550 testTranslate不是过程或未定义
当我尝试在SQLDeveloper中调试它时,我会遇到一个单独的问题。脚本似乎正在运行,但我收到错误消息1422 exact fetch返回的行数大于请求的行数。函数中的select语句在select后不带distinct而自行运行时,会返回很多值,但带distinct时,它只返回一个值,因此不确定这是关于什么的
有任何指示吗?请尝试
SELECT testTranslate ('Hello', 'French') FROM DUAL;
在Oracle中,函数使用
select
关键字执行。因此,请尝试执行如下函数:-
SELECT testTranslate('Decision', 'Text') FROM DUAL;
这可能对你有帮助。两个答案都正确,但你提前一分钟到达:)。