PL / pgSQL jest domyślnym językiem proceduralnym systemu baz danych PostgreSQL. Pytania dotyczące PL / pgSQL również prawdopodobnie powinny być oznaczone jako „PostgreSQL”.
Pracuję nad funkcją, która pozwala mi dodać indeks, jeśli nie istnieje. Mam problem z tym, że nie mogę uzyskać listy indeksów do porównania. jakieś pomysły? Jest to podobny problem do tworzenia kolumny, który został rozwiązany za pomocą tego kodu: https://stackoverflow.com/a/12603892/368511
Wychodząc z tła MySQL, gdzie wydajność procedury przechowywanej (starszy artykuł) i użyteczność są wątpliwe, oceniam PostgreSQL pod kątem nowego produktu dla mojej firmy. Jedną z rzeczy, które chciałbym zrobić, jest przeniesienie logiki aplikacji do procedur przechowywanych, więc tutaj proszę o DOs i DON'T (najlepsze praktyki) dotyczące korzystania z funkcji w …
Czytałem o różnych UPSERTimplementacjach w PostgreSQL, ale wszystkie te rozwiązania są stosunkowo stare lub względnie egzotyczne ( na przykład przy użyciu zapisywalnego CTE ). I po prostu wcale nie jestem ekspertem od psql, aby dowiedzieć się od razu, czy te rozwiązania są stare, ponieważ są dobrze zalecane, czy też są …
To pytanie nie dotyczy bytea v. Oid v. Blob v. Dużych obiektów itp. Mam tabelę zawierającą integerpole klucza podstawowego i byteapole. Chciałbym wprowadzić dane w byteapole. Można to przypuszczalnie zrobić w jednym z PL/języków i mogę się tym zająć PL/Pythonw przyszłości. Ponieważ wciąż testuję i eksperymentuję, chciałbym po prostu wstawić …
W komentarzu do tego pytania wspomniano, że istnieje niewielka różnica w „Stored Procedrues” i „Stored Funtions” w PostgreSQL. Komentarz prowadzi do artykułu na Wikipedii, ale niektóre z nich wydają się nie mieć zastosowania (np. Że można ich użyć w SELECToświadczeniu). Sama składnia wydaje się nieco myląca: CREATE FUNCTION emp_stamp() RETURNS …
Czy w Postgres przygotowane zapytania i funkcje zdefiniowane przez użytkownika są równoważne jako mechanizm zabezpieczający przed wstrzyknięciem SQL ? Czy są jakieś zalety jednego podejścia względem drugiego?
Muszę przypisać wartości do 2 zmiennych, jak poniżej w funkcji Postgres. a := select col1 from tbl where ... b := select col2 from tbl where ... Jak mogę przypisać 2 wartości do 2 zmiennych w jednym poleceniu? Lubić a,b := select col1,col2 from tbl where ...
Mam system, w którym nie mogę kontrolować projektu niektórych tabel (replikowanych przez Slony-I), więc mam szereg tego, co nazywamy „tabelami cieni”, w których wydobywam niektóre informacje z replikowanych tabel i przechowuj go w przetworzonej formie, której potrzebuję, jednocześnie usuwając rekordy, które chcę zignorować. W tej chwili po skonfigurowaniu nowej repliki …
Czy ktoś może streścić różnice między: http://www.postgresql.org/docs/9.1/static/xfunc-sql.html i http://www.postgresql.org/docs/9.1/static/plpgsql.html ? Główne punkty: różnice koncepcyjne biorąc pod uwagę problem rodziny, wygoda użytkowania kwestie polityczne
Jest to możliwe przy użyciu pgadminalbo plsqlsię trzymać planu zapytań do SQL instrukcji wykonywanych Wewnątrz u ser d efined f namaszczenie (UDF), używając EXPLAIN. Jak więc uzyskać plan zapytań dla konkretnego wywołania UDF? Widzę, jak UDF jest abstrahowany w pojedynczej operacji F()w pgadmin. Przejrzałem dokumentację, ale nic nie znalazłem. Obecnie …
Korzystam z funkcji PL / pgSQL w PostgreSQL 9.3 z kilkoma złożonymi zapytaniami wewnątrz: create function f1() returns integer as $$ declare event tablename%ROWTYPE; .... .... begin FOR event IN SELECT * FROM tablename WHERE condition LOOP EXECUTE 'SELECT f2(event.columnname)' INTO dummy_return; END LOOP; ... INSERT INTO ... FROM a …
Mam małą (~ 10 wierszy) tabelę wywoływaną restrictionsw mojej bazie danych PostgreSQL, w której wartości są codziennie usuwane i wstawiane. Chciałbym mieć tabelę o nazwie restrictions_deleted, w której każdy usuwany wiersz restrictionsbędzie zapisywany automatycznie. Ponieważ restrictionsma identyfikator seryjny, nie będzie duplikatów. Jak napisać taki wyzwalacz w PostgreSQL?
Biorąc pod uwagę tę konfigurację w aktualnym Postgres 9.4 ( z tego powiązanego pytania ): CREATE TABLE foo (ts, foo) AS VALUES (1, 'A') -- int, text , (7, 'B'); CREATE TABLE bar (ts, bar) AS VALUES (3, 'C') , (5, 'D') , (9, 'E'); Istnieje również SQL Fiddle z …
Obecnie eksperymentuję trochę z PL / pgSQL i chcę wiedzieć, czy istnieje bardziej elegancki sposób na zrobienie czegoś takiego: select c.data into data from doc c where c.doc_id = id and c.group_cur > group_cur order by c.id desc limit 1; EXCEPTION WHEN NO_DATA_FOUND THEN select c.data into data from doc …
Próbuję zwrócić wiele rekordów przy użyciu typu danych RECORD, czy istnieje sposób, aby dołączyć do RECORD i dodawać / dodawać nową wartość z każdą iteracją do tego rekordu. to znaczy, chcę dołączyć do rectak, że recstaje się zestawem wierszy po zakończeniu pętli, które mogę po prostu POWRÓT na końcu mojej …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.