Сообщения

Показаны сообщения с ярлыком "postgres"

Yii формируем рекурсивный dropDownList

имеем $opts = CHtml : : listData(Department : : model() - >findAll( 'id_parent =5' ), 'id' , 'name' ); echo '<pre>' ; var_dump($opts); ? > <hr / > <div class = "column" > < ? php $arr_bit[] = 5 ; //пункт по умолчанию echo $form - >dropDownList($model, 'level_id' , $opts, $arr_bit, array ( 'empty' = > Yii : : t( 'default' , 'выберите горизонт' ), ) ); ? > получили примерно array ( 2 ) { [ 24 ] = > string ( 19 ) "Участок №3" [ 22 ] = > string ( 19 ) "Участок №1" } нужно привести рекурсивный запрос вида WITH RECURSIVE temp1 (id,id_parent,name, PATH , LEVEL, myname, TYPE, hidden) AS ( SELECT T1 . id , T1 . id_parent , T1 . name , CAST ( T1 . id AS VARCHAR ( 50 )) AS PATH , 1 , CAST ( T1 . name AS VARCHAR (...

Postgres время

текущая дата CURRENT_DATE = f_timestamp::date текущий месяц to_char(current_timestamp, 'YYYY-MM') = to_char(f_timestamp, 'YYYY-MM') отдаст время в формате 2015-05-26 13:55:23 select to_char(current_timestamp, 'YYYY-MM-DD HH24:II:SS') текущее время в формате 17.08.2015 10:27:53 SELECT  now()::timestamp

Postgres рекурсивные запросы

Запрос снизу вверх. 8 и 3 - потомки WITH RECURSIVE temp1 ( p_id, p_parent, p_title ) AS ( SELECT T1 . p_id , T1 . p_parent , T1 . p_title FROM "SC_Wonder" .t_page T1 WHERE T1 . p_id = 8 or T1 . p_id = 3 union select T2 . p_id , T2 . p_parent , T2 . p_title FROM "SC_Wonder" .t_page T2 INNER JOIN temp1 ON ( temp1 . p_parent = T2 . p_id )) select * from temp1 order by p_parent desc .. Запрос сверху вниз. элемент с прдком 0 - корневой элемент WITH RECURSIVE temp1 ( p_id,p_parent,p_title, PATH , LEVEL, NAME ) AS ( SELECT T1 . p_id , T1 . p_parent , T1 . p_title , CAST ( T1 . p_id AS VARCHAR ( 50 )) as PATH , 1 , CAST ( T1 . p_title AS VARCHAR ( 255 )) as NAME FROM "SC_Wonder" .t_page T1 WHERE T1 . p_parent = 0 union select T2 . p_id , T2 . p_parent , T2 . p_title , CAST ( temp1 . PATH || '->' || T2 . p_id AS VARCHAR ( 50 )) ,LEVEL + 1 , CAST ((repeat( ' ' , LEVEL + 1 ) || T2 . ...

Python + Postgres

#python 3.4 #Импортируем модуль и делаем псевдоним #http://python.projects.pgfoundry.org/ import postgresql.driver as pg_driver #Создаем подключение к базе db = pg_driver.connect( user = '**' , password = '**' , host = '**' , database = '*' , port = 5432 ) #Запрос и его перебор #for name, in db.prepare("SELECT name FROM public.docs_types"): f = open ( 'ajax.php' , 'w' ) r=[] e=[] c=[] for F_ConvertedValue,F_Date,F_TagName_ID, in db.prepare( '''SELECT "F_ConvertedValue",     EXTRACT (EPOCH FROM "F_Date"), "F_TagName_ID" FROM "SC_Tag"."T_TagData" where "F_Date" > (localtimestamp - interval'1 day') ORDER BY "F_Date" asc;''' ): r.append(F_ConvertedValue) e.append(F_Date) c.append(F_TagName_ID) f.write( '[' ) for i in range ( len (r)): f.write( '[' + str (r[i])+ ',' + str (e[...

Postgres UPSERT

UPDATE "SC_Wonder" . "TMining_New" SET "FH_09_Q" = 100 , "FH_09_Fe" = 20 , "FH_09_ZnO" = 0 , "FH_09_S" = 0 WHERE "FMineObj_ID" = 7 AND "FDate" = '2015-01-28' ; INSERT INTO "SC_Wonder" . "TMining_New" ( "FDate" , "FMineObj_ID" , "FH_09_Q" , "FH_09_Fe" , "FH_09_ZnO" , "FH_09_S" ) SELECT '2015-01-28' , 7 , 100 , 20 , 0 , 0 WHERE NOT EXISTS ( SELECT 1 FROM "SC_Wonder" . "TMining_New" WHERE "FMineObj_ID" = 7 AND "FDate" = '2015-01-28' );

Postgres изменение типа поля

HINT:  Specify a USING expression to perform the conversion. ALTER TABLE "SC_Wonder"."TMIneObj_New" ALTER COLUMN "F_Correct" TYPE integer USING ("F_Correct"::integer);