«plpgsql» etiketlenmiş sorular

PL / pgSQL, PostgreSQL veritabanı sistemi için varsayılan prosedür dilidir. PL / pgSQL ile ilgili sorular muhtemelen "PostgreSQL" olarak da etiketlenmelidir.

2
Eğer yoksa indeks oluştur
Varsa, dizin eklememe izin veren bir işlev üzerinde çalışıyorum. Karşılaştıracağım endekslerin listesini bulamadığım sorunla karşılaşıyorum. Düşüncesi olan var mı? Bu, bu kodla çözülen sütun oluşturma ile benzer bir sorundur: https://stackoverflow.com/a/12603892/368511

4
İşlev Performansı
Depolanmış prosedür performansı (eski makale) ve kullanılabilirliğin sorgulanabilir olduğu bir MySQL geçmişinden geldiğimde, PostgreSQL'i şirketim için yeni bir ürün için değerlendiriyorum. Yapmak istediğim şeylerden biri, uygulama mantığının bir kısmını saklı yordamlara taşımak. Bu nedenle, özellikle performans tuzakları ile ilgili olarak PostgreSQL'de (9.0) işlevlerin kullanımıyla ilgili DO'lar ve Yapılmayacaklar (en iyi …

3
UPSERT'yi PostgreSQL'de uygulamanın aptalca yolu
UPSERTPostgreSQL'de farklı uygulamaları okudum , ancak bu çözümlerin tümü nispeten eski veya nispeten egzotiktir ( örneğin, yazılabilir CTE kullanarak ). Ve ben hemen hemen bulmak için hiç bir psql uzmanı değilim, bu çözümlerin eski olup olmadıklarını, çünkü iyi bir şekilde önerildiklerini ya da (neredeyse hepsi olduğu gibi) eskiden üretim kullanımına …

5
PostgreSQL bayt sütununa veri (dosya) nasıl eklenir?
Bu soru bytea v. Oid v. Blobs v. Büyük nesneler vb. İle ilgili değildir. Birincil anahtar integeralan ve bir byteaalan içeren bir tablo var . byteaAlana veri girmek istiyorum . Bu, muhtemelen, PL/dillerden biri tarafından yapılabilir PL/Pythonve gelecekte bunu birlikte yapabilirim . Hala test edip, deniyorum, sadece "standart" SQL ifadelerini …

6
“Saklı İşlemler” ve “Saklı Fonksiyonlar” arasındaki farklar nelerdir?
Dolayısıyla, bu sorudan bir yorum, PostgreSQL'de "Saklı Usuller" ve "Saklı Fonksiyonlar" arasında küçük bir fark olduğunu belirtir. Yorum, bir wikipedia makalesine bağlanıyor, ancak bunun bir kısmı geçerli görünmüyor (örneğin bir SELECTaçıklamada kullanılabilecekleri ). Sözdizimi kendisi biraz kafa karıştırıcı gibi görünüyor: CREATE FUNCTION emp_stamp() RETURNS trigger AS $emp_stamp$ BEGIN [...] END; …



1
Postgres tablosundaki her kayıt için bir tetikleyici çalıştırmanın iyi bir yolu var mı?
Bazı tabloların tasarımını kontrol edemediğim bir sisteme sahibim (Slony-I ile çoğaltılmıştır) ve bu nedenle, kopyalanan tablolardan bazı bilgileri çıkardığım 'gölge tabloları' olarak adlandırdığımız bir dizi var. ve göz ardı etmek istediğim kayıtları çıkarırken ihtiyacım olan işlenmiş biçimde saklayın. Şu anda, yeni bir çoğaltma ayarladıktan sonra, bir güncelleme çalıştırıyorum UPDATE tablename …



1
EXPLAIN ANALYZE, bir plpgsql işlevi içindeki sorgular için hiçbir ayrıntı göstermez
İçinde birkaç karmaşık sorguları ile PostgreSQL 9.3 PL / pgSQL işlevini kullanıyorum: 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 LEFT JOIN …

2
Tetikleyici: silinmiş satırları arşiv tablosuna taşıma
Ben restrictionsdeğerleri silinir ve günlük olarak eklenir PostgreSQL veritabanımda denilen küçük (~ 10 satır) tablo var . restrictions_deletedSilinen her satırın restrictionsotomatik olarak depolanacağı bir tabloya sahip olmak istiyorum . Yana restrictionsbir seri kimliğine sahipse, hiçbir çiftleri olacaktır. PostgreSQL'de böyle bir tetikleyiciyi nasıl yazarım?



3
PL / pgSQL'de birden çok kayıt sırasını nasıl döndürebilirim
RECORD veri türünü kullanarak birden fazla kayıt döndürmeye çalışıyorum, KAYIT eklemek ve bu KAYIT her yineleme ile yeni bir değer eklemek bir yolu var. olduğunu, ben eklemek istediğiniz recşekilde recdöngü bittiğinde, satır kümesi haline gelir benim işlevi sonunda sadece DÖNÜŞ can. Şu anda bunu yapıyorum - SELECT temp_table.col1, temp_table.col2, temp_table.col3 …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.