Pular para o conteúdo principal

Postagens

Mostrando postagens com o rótulo select

React - Forms

No React podemos trabalhar com formulários de maneira padrão, onde a submissão produz uma navegação para outra página, e da maneira "React", onde teremos controle dos componentes para controle dos dados. Componentes controlados Por padrão, os componentes html "input", "textarea" e "select" mantém o próprio estado de acordo com as entradas que o usuário realiza, como vimos, com o React fazemos essa atualização apenas por meio do "setState", mas para trabalhar com formulários trabalharemos com uma mescla dessas duas ideias, fazendo com que o estado controlado pelo React seja nossa verdadeira fonte de dados, nossa fonte da verdade. Para isso, basicamente precisaremos fazer com que o componente "input" tenha como valor uma das propriedades do estado e sempre que o valor do "input" for alterado atualizaremos esse estado: import   React   from   'react' ; class   FormularioNome   extends   React

Verificar privilégios de um usuário (Oracle)

Em muitas ocasiões, por diferentes motivos nos deparamos com a necessidade de conhecer os privilégios que um determinado usuário possui. Como vimos aqui existem alguns tipos diferentes de privilégios e para consultar esses privilégios temos a disposição o famoso dicionário de dados, conforme visto aqui , sendo nos objetos desse dicionário que precisaremos consultar para obter informações sobre os privilégios. O objetivo desse post não é entrar em detalhes sobre os privilégios ou mesmo sobre as tabelas que formam o dicionário de dados, isso já foi feito nas postagens mencionadas, a intenção é mostrar uma consulta que nos permita obter os principais privilégios, segue o código: select 'Privilégios de sistema : ' || PRIVILEGE from dba_sys_privs where GRANTEE = upper('PROGRAMERO') union select 'Privilégios em Role: ' || GRANTED_ROLE from dba_role_privs where GRANTEE = upper('PROGRAMERO') union select 'Privilégios em objetos : ' || owne

Loop com execute immediate (Oracle)

A pouco tempo atrás me peguei imaginando como percorrer um conjunto de dados gerado por uma consulta a ser construida. Bom para executar uma consulta nesse formato usamos o “ EXECUTE IMMEDIATE ”, até ai sem novidades, mas e o loop? Para resolver isso executamos a consulta, colocamos o resultado em uma coleção ( BULK COLLECT ) e realizamos loop nessa coleção, simples não?  Agora vamos ao código:     CREATE OR REPLACE PROCEDURE PRC_EXECIMMEDIATE AS   TYPE ItemRec IS RECORD (      item_id NUMBER,     dup_cnt NUMBER);   TYPE ItemSet IS TABLE OF ItemRec;   dup_items ItemSet; BEGIN   EXECUTE IMMEDIATE     ' SELECT deptno, COUNT(DISTINCT ename) dup_cnt ' ||     '   FROM emp ' ||     '  GROUP BY deptno ' ||     ' HAVING COUNT(DISTINCT ename) > 1'     BULK COLLECT     INTO dup_items;   FOR i IN dup_items.FIRST..dup_items.LAST   LOOP     dbms_output.put_line( dup_items(i).item_id );     -- processamento aqui   END LOOP; END PRC_EXECIMMEDIATE;

O que devemos conhecer sobre SQL/Oracle Parte 17: Suporte a expressões regulares

Utilizando metacharacters Expressões regulares são utilizadas por varias linguagens de programação e em diversos sistemas operacionais, e o Oracle não é exceção, ele oferece esse poderoso recurso em sua linguagem. São formadas por diversos símbolos e códigos conhecidos como metacharacters , e são utilizados para buscar partes de um determinado texto. A seguir veremos três quadros com os operadores, classes POSIX e intervalos de caracteres: Operadores das expressões regulares Operador Descrição ( ) Trata a expressão ou o conjunto de literais como uma subexpressão. [...] O par de colchetes delimita uma lista de uma ou mais expressões: combinações de elementos, símbolos, classes equivalentes, classes de caractere ou expressões de dimensão. [^...] Uma expressão de não igualdade. Indica que a lista de expressões dentro dos colchetes não deve ser encontrada. [. ...] O uso do ponto especifica