PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak zadeklarować zmienne lokalne w postgresql?

Postgresql historycznie nie obsługuje kodu proceduralnego na poziomie poleceń - tylko w ramach funkcji. Jednak w Postgresql 9 dodano obsługę wykonywania wbudowanego bloku kodu, który skutecznie obsługuje coś takiego, chociaż składnia jest być może nieco dziwna i istnieje wiele ograniczeń w porównaniu z tym, co można zrobić z SQL Server. Warto zauważyć, że wbudowany blok kodu nie może zwrócić zestawu wyników, więc nie można go użyć do tego, co opisano powyżej.

Ogólnie, jeśli chcesz napisać jakiś kod proceduralny i sprawić, by zwrócił wynik, musisz umieścić go w funkcji. Na przykład:

CREATE OR REPLACE FUNCTION somefuncname() RETURNS int LANGUAGE plpgsql AS $$
DECLARE
  one int;
  two int;
BEGIN
  one := 1;
  two := 2;
  RETURN one + two;
END
$$;
SELECT somefuncname();

O ile mi wiadomo, protokół przewodowy PostgreSQL nie pozwala na takie rzeczy, jak polecenie zwracające wiele zestawów wyników. Nie można więc po prostu mapować partii T-SQL lub procedur składowanych na funkcje PostgreSQL.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zaimportować plik CSV do PostgreSQL

  2. Wyłącz ostrzeżenie w sqlalchemy

  3. Uprawnienia użytkownika PostgreSQL

  4. Jak zaimportować moduły lub zainstalować rozszerzenia w PostgreSQL 9.1+?

  5. Jak usunąć wartość typu enum w postgresie?