Oracle存储过程返回一个id列表

时间:2015-02-06 20:30:24

标签: oracle stored-procedures

我正在尝试将sql存储过程转换为oracle。这是一个非常简单的程序。它只是从表中返回一个id列表,这在sql中很容易做到。

SQL

CREATE PROCEDURE [dbo].[tspInstalledLanguages]  
AS
BEGIN   
    SELECT language_id from languages
END

对于oracle来说,我是一个完全的新手,而且我已经知道它并不像这样直接。

我尝试了以下内容:

的Oracle

CREATE OR REPLACE PROCEDURE tspInstalledLanguages
AS  
BEGIN
  SELECT LANGUAGE_ID FROM LANGUAGES;  
END;

没有运气。 我收到一条消息,表示期待select into

1 个答案:

答案 0 :(得分:1)

It is.
例如:

DECLARE
  v_authName author.author_last_name%type;
BEGIN
  SELECT author_last_name
  INTO v_authName
  FROM author 
  WHERE author_key = 'A103';
  dbms_output.put_line('Name: '||v_authName);
END;
/

所以使用你的代码:

CREATE OR REPLACE PROCEDURE tspInstalledLanguages
IS
v_language NUMBER; 
BEGIN
  SELECT LANGUAGE_ID 
  INTO v_language
  FROM LANGUAGES;
  dbms_output.put_line(v_language);
END;
/