Ir para conteúdo
Fórum Script Brasil

Kleber Cardoso

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Tudo que Kleber Cardoso postou

  1. Saudações a todos. Sou iniciante em postgres, e preciso realizar um update e insert em uma tabela utilizando variáveis, pois tenho muitas linhas de update a serem realizados, e não quero ter que digitar muitas vezes. Seria mais ou menos assim: $BODY$ DECLARE IDantigo integer := 58483; IDnovo integer; BEGIN UPDATE public.pessoa SET nome='NOME', cpf='' WHERE id=IDantigo; INSERT INTO pessoa( nome, sexo, datanascimento, cpf, estadocivil, celular, telefone, nomesocial, cor_raca, pai, mae, onde_nasceu, uf_origem, pais_estrangeiro, registrado_cartorio, documentos, deficiencia_permanente, trabalho, escolaridade, cegueira, baixavisao, surdezservera, surdezleve, deficienciafisica, deficienciamental, sindromedown, transtorno, não, simfamilia, simespecializado, simvizinho, siminstituicao, simoutraforma) VALUES ('ISALENE',false,'1988-04-14','',1,'','','',5,'','VITORIA ALFREDO','BOA VISTA','RR','','SIM',59,false,45,45,false,false,false,false,false,false,false,false,false,false,false,false,false,false); IDnovo := currval('pessoa_id_seq'); UPDATE public.municipe SET pessoa=IDnovo WHERE pessoa=IDantigo; UPDATE tami.tci_complementares SET pessoa=IDnovo WHERE pessoa=IDantigo; UPDATE tami.tci_atividadeprodutiva SET pessoa=IDnovo WHERE pessoa=IDantigo; UPDATE tami.tci_condicionalidades SET pessoa=IDnovo WHERE pessoa=IDantigo; UPDATE tami.tci_avaliacaoservicos SET pessoa=IDnovo WHERE pessoa=IDantigo; UPDATE tami.tci_usobeneficio SET pessoa=IDnovo WHERE pessoa=IDantigo; UPDATE tami.tci_reivindicacoes SET pessoa=IDnovo WHERE pessoa=IDantigo; DELETE FROM pessoa WHERE id=IDantigo; END; $BODY$ LANGUAGE plpgsql; alguém poderia me ajudar nisso? Obrigado.
  2. Bom dia a todos. Estou tendo alguns problemas em relação à quantidade de conexões com o banco de dados do PostgreSQL. Minha aplicação WEB se conecta ao banco através de um usuário que não é o padrão do PostgreSQL (postgres). Com poucos acessos ao banco (menos de 10), já me retorna o erro do número excessivo de conexões. Quando eu consigo conectar pelo psql ao banco e verificar o relatorio de conexões, percebo que o usuário "postgres" se conecta em 90% das portas de acesso. O que eu não entendo (como realmente não entendo quase nada de banco de dados) é como este usuário é chamado mesmo sem estar instanciado em nenhum momento da minha aplicação... Estou utilizando o hibernate + JDBC + C3P0, e minhas conexões com o banco fecham de 5 em 5 minutos quando estão inativas ou ociosas. A quem puder contribuir, agradeço. Ótimo fds a todos.
  3. Olá pessoal, boa noite. Sou novo aqui no fórum e não tenho conhecimento da linguagem php. Na verdade, sou desenvolvedor Java, mas tive de fazer um trabalho em Joomla, utilizando o componente ADSmanager e o módulo mod_adsmanager_ads. Este módulo me exibe os produtos cadastrados de forma aleatória, ultimos produtos ou randomicamente. No máximo, para variar um pouco a exibição, ele permite a escolha de uma categoria de produtos ou do ID do próprio produto. Criei um campo na tabela do anúncio que classifica o anuncio como 3 tipos, de valores 0, 1 e 2. Preciso que ele exiba os produtos de determinado tipo de anúncio, então fiz as alterações nos arquivos necessários, mas chegando no arquivo content.php, precisei alterar a função getLatestContents, para que ela, além de filtrar por categoria, filtre também por tipo de anúncio. Então ficou assim: function getLatestContents($nbcontents,$sort_type=0,$catselect="no",$tipoanuncio="no") { switch($sort_type) { /* Popular */ case 2: $order_sql = "ORDER BY a.views DESC,a.date_created DESC ,a.id DESC "; break; /* Random */ case 1: $order_sql = "ORDER BY RAND() "; break; /* Latest */ case 0: default: $order_sql = "ORDER BY a.date_created DESC ,a.id DESC "; break; } $cat_query = ""; switch($catselect) { case "no"; break; case "-1": $catid = JRequest::getInt('catid', 0 ); $this->_db->setQuery( "SELECT c.id, c.name,c.parent ". " FROM #__adsmanager_categories as c ". " WHERE c.published = 1 ORDER BY c.parent,c.ordering"); $listcats = $this->_db->loadObjectList(); //List $list = array(); $list[] = $catid; $this->_recurseSearch($listcats,$list,$catid); $listids = implode(',', $list); if (($catid != 0)&&($catid != -1)) { $cat_query = "adcat.catid IN ($listids) AND "; } break; default: $cat_query = "adcat.catid = $catselect AND "; break; } [b] //TESTE DE MODIFICAÇÃO DA FUNÇÃO[/b] $tipo_query = ""; switch($tipoanuncio) { case "no"; break; case "-1": $ad_kindof = JRequest::getInt('ad_kindof',0); $this->_db->setQuery( "SELECT a.id, a.ad_headline, a.ad_price, a.ad_kindof, a.ad_ano ". " FROM #__adsmanager_ads as a ". "WHERE a.published = 1"); $listanuncio = $this->_db->loadObjectList(); //List $list2 = array(); $list2[] = $ad_kindof; $this->_recurseSearch($listanuncio,$list2,$ad_kindof); $listids2 = implode(',', $list2); if (($ad_kindof != 0)&&($ad_kindof != -1)) { $tipo_query = "ads.ad_kindof IN ($listids2) AND "; } break; default: $tipo_query = "ads.ad_kindof = $tipoanuncio AND "; break; } $this->_db->setQuery("SELECT a.id,a.views, a.ad_headline, a.category, a.ad_price, a.ad_ano, a.ad_kindof, a.date_created,p.id as parentid,p.name as parent,c.id as catid, c.name as cat ". "FROM #__adsmanager_ads as a ". "INNER JOIN #__adsmanager_adcat as adcat ON adcat.adid = a.id ". "LEFT JOIN #__users as u ON a.userid = u.id ". "INNER JOIN #__adsmanager_categories as c ON adcat.catid = c.id ". "LEFT JOIN #__adsmanager_categories as p ON c.parent = p.id ". "WHERE $cat_query c.published = 1 and $tipo_query a.published = 1 GROUP BY a.id $order_sql LIMIT 0, $nbcontents"); $contents = $this->_db->loadObjectList(); return $contents; } Pessoal, existe algum erro nessa implementação que eu fiz, que sinceramente, não estou conseguindo detectar. Já testei as QUERY e todas funcionam. Tenho a impresão que a variável $tipo_query não está sendo repassada, ou repassada com valor nulo ou coisa parecida. Se alguém puder contribuir, agradeço.
×
×
  • Criar Novo...