Plsql SQL-PL/SQL编写一个基本函数并运行它来查询结果
我用多个元组/行填充了表Plsql SQL-PL/SQL编写一个基本函数并运行它来查询结果,plsql,Plsql,我用多个元组/行填充了表'Company'。其中一个是Microsoft,用于'Company\u name'字段,而'City'字段填充为Redmond 我已经编译了这个PL/SQL文件 --创建一个函数,返回公司X所在的城市。 --X将是调用者提供的参数。 --与您选择的公司一起测试您的功能 CREATE OR REPLACE FUNCTION company_location_city(x IN company.company_name%TYPE) return company.city%
'Company'
。其中一个是Microsoft,用于'Company\u name'
字段,而'City'
字段填充为Redmond
我已经编译了这个PL/SQL文件
--创建一个函数,返回公司X所在的城市。--X将是调用者提供的参数。
--与您选择的公司一起测试您的功能
CREATE OR REPLACE FUNCTION company_location_city(x IN company.company_name%TYPE)
return company.city%TYPE IS
company_location company.city%TYPE;
BEGIN
select city into company_location
from company
where company_name = x;
return company_location;
END;
并用这条线运行它
select company_location_city('Microsoft') from dual;
我得到了这个错误,我不明白它想告诉我什么。当然我们遇到了选择
我运行的是甲骨文风格
错误(12,1):PLS-00103:遇到符号“选择”
此外,显示错误的查询结果也会有所帮助
ORA-06575:包或功能公司\u位置\u城市处于无效状态
657500000-“包或函数%s处于无效状态”
*原因:SQL语句引用的PL/SQL函数位于
无效状态。Oracle试图编译该函数,但是
检测到错误。
*操作:检查SQL语句和PL/SQL函数的语法
错误、错误分配或缺少的权限
引用的对象。
第16行第8列出错
错误的PLS前缀表示这是pl\sql引擎错误。因此,这意味着您的sql代码被视为pl\sql,因为函数ddl code是pl\sql。您混合了sql和pl/sql,您应该按分隔符拆分它们,或者删除其中一种类型的代码您得到了pl\sql错误,但运行了sql查询。您是如何运行此查询的?我的意思是你用过IDE或者sqlplus吗?我用的是IDE。Sql开发者。Oracle Sql开发者?所以您应该在SQL工作表窗口中运行查询。你这样做了吗?是的,我给了你一张图片来帮助你。另外,当我运行select语句时,它作为查询结果给出了一个错误。不确定它是什么意思。或者在函数ddl代码和sql查询之间添加斜杠分隔符。您已经混合了sql和pl/sql,应该按分隔符拆分它们。