Oracle
 sql >> база данни >  >> RDS >> Oracle

как да направя функция за връщане на тип ред от таблица в pl/sql?

Настройка на Oracle :

CREATE TABLE account1 (
 account_id INT,
 name       VARCHAR2(20)
);

INSERT INTO account1 VALUES ( 1, 'Bob' );

CREATE OR REPLACE FUNCTION get_accounts(
  Acc_id IN Account1.account_id%TYPE
) RETURN account1%ROWTYPE
AS
  l_cust_record account1%ROWTYPE;
BEGIN
  SELECT *
  INTO   l_cust_record
  FROM   account1
  WHERE  account_id = Acc_id;

  RETURN l_cust_record;
END;
/

PL/SQL блок :

DECLARE
  r_acct ACCOUNT1%ROWTYPE;
BEGIN
  r_acct := get_accounts( 1 );
  DBMS_OUTPUT.PUT_LINE( r_acct.name );
END;
/

Изход :

Bob


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да форматирам своите заявки за Oracle, така че колоните да не се обвиват?

  2. синтактична грешка при деклариране на променливи в процедура pl/sql

  3. Как да решим ORA-29280:невалиден път към директорията

  4. Заключете базата данни на Oracle, преди да стартирате скриптовете за изтриване/зареждане на данни

  5. Как да потвърдя имейл адреса с помощта на PL/SQL?