«plpgsql» etiketlenmiş sorular

10
Postgres veritabanındaki tüm tabloları kesme
Yeniden yapılandırmadan önce düzenli olarak PostgreSQL veritabanımdaki tüm verileri silmem gerekiyor. Bunu doğrudan SQL'de nasıl yapabilirim? Şu anda yürütmem gereken tüm komutları döndüren bir SQL ifadesi ile gelmeyi başardım: SELECT 'TRUNCATE TABLE ' || tablename || ';' FROM pg_tables WHERE tableowner='MYUSER'; Ama bir kere sahip olduktan sonra onları programlı olarak …

5
Sorgu sonucunu PL / pgSQL kullanarak bir değişkende saklayın
PostgreSQL'in prosedür dili olan PL / pgSQL'deki bir değişkene bir sorgunun sonucu nasıl atanır? Bir işlevim var: CREATE OR REPLACE FUNCTION test(x numeric) RETURNS character varying AS $BODY$ DECLARE name character varying(255); begin name ='SELECT name FROM test_table where id='||x; if(name='test')then --do somthing else --do the else part end if; …

2
Hiçbir şey döndürmeyen işlev nasıl oluşturulur
İle bir fonksiyon yazmak istiyorum pl/pgsql. Ben kullanıyorum PostgresEnterprise Yöneticisi v3 ve bir işlev yapmak için kabuk kullanarak, ama kabuk ben dönüş türü tanımlamanız gerekir. Dönüş türünü tanımlamazsam, bir işlev oluşturamam. Dönüş sonucu olmayan bir fonksiyon, yani yeni bir tablo oluşturan bir Fonksiyon nasıl yaratılır?


2
PL / pgSQL'de '$$' ne için kullanılır?
PL / pgSQL için tamamen yeni olduğundan, bu işlevdeki çift ​​dolar işaretlerinin anlamı nedir : CREATE OR REPLACE FUNCTION check_phone_number(text) RETURNS boolean AS $$ BEGIN IF NOT $1 ~ e'^\\+\\d{3}\\ \\d{3} \\d{3} \\d{3}$' THEN RAISE EXCEPTION 'Wrong formated string "%". Expected format is +999 999'; END IF; RETURN true; END; …


8
PostgreSQL işlev parametresi olarak tablo adı
Postgres işlevinde bir tablo adını parametre olarak geçirmek istiyorum. Bu kodu denedim: CREATE OR REPLACE FUNCTION some_f(param character varying) RETURNS integer AS $$ BEGIN IF EXISTS (select * from quote_ident($1) where quote_ident($1).id=1) THEN return 1; END IF; return 0; END; $$ LANGUAGE plpgsql; select some_f('table_name'); Ve bunu anladım: ERROR: syntax …
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.