创建函数编译错误

时间:2017-10-13 06:28:47

标签: oracle

我的函数编译错误。所以我的问题是为什么它不会编译,我需要做什么才能让它编译?

我的目标是将来自不同表格的一些不同变量放入一个函数中,变量是艺术家姓名,专辑标题,曲目名称和单位价格来自基于输入的曲目id的曲目(我不知道在哪里放在函数中(见丢失))。

这是我的代码,我在哪里可以输入跟踪ID信息? 我也不确定我的归来会是什么

CREATE or REPLACE FUNCTION FN_Track_Details
  (Artist_Name CH_ARTIST.ARTIST_NAME%TYPE,
  Album_Name CH_ALBUM.ALBUM_TITLE%TYPE,
  Track_Name CH_TRACK.TRACK_NAME%TYPE,
  Unit_Price CH_TRACK.UNIT_PRICE%TYPE)
  RETURN VARCHAR2
  IS Track CH_Track.Track_ID%TYPE ;
    BEGIN
      SELECT Track_ID
      INTO Track
      FROM CH_Artist
      WHERE ARTIST_NAME = ARTIST_NAME;
      SELECT Track_ID
      INTO Track
      FROM CH_ALBUM
      WHERE ALBUM_TITLE = Album_Name;
      SELECT Track_ID
      INTO Track
      FROM CH_Track
      WHERE TRACK_NAME = Track_Name;
      SELECT Track_ID
      INTO Track
      From CH_Track 
      Where UNIT_PRICE = Unit_Price;
      RETURN Track;
End FN_Track_Details;
/

这就是我所说的:

Select FN_Track_Details (3492)
From dual;

编译错误并从select get

编译
  

包裹或功能无效状态

1 个答案:

答案 0 :(得分:0)

意味着发表评论。诅咒你的SE应用!!稍后会删除8 - /