PL/SQL: exists / not-exists (Subqueries with EXISTS or NOT EXISTS)

create table FABIANO_CIDADE
(
NR_SEQUENCIA NUMBER,
NM_CIDADE    VARCHAR2(110)
)

select_fabiano_cidade

— Create table
create table FABIANO_PESSOA
(
CD_PESSOA number,
NM_PESSOA varchar2(200),
NR_CIDADE number
)
;

select_fabiano_pessoa

 

select * from
tasy.fabiano_cidade c
where exists (select 1 from
tasy.fabiano_pessoa p
where p.nr_cidade = c.nr_sequencia);

 

plsql_exists

select * from
tasy.fabiano_cidade c
where not exists (select 1 from
tasy.fabiano_pessoa p
where p.nr_cidade = c.nr_sequencia);

 

plsql_not_exists

 

http://docs.oracle.com/cd/E17952_01/refman-5.1-en/exists-and-not-exists-subqueries.html

 

Hoje vou mostrar como configurar o wamp server e preparar o ambiente de trabalho.

Testes realizados com o WAMP 2.4

WampServer 2.4  – Windows  32 Bits

Apache     : 2.4.4
MySQL      : 5.6.12
PHP          : 5.4.16
PHPMyAdmin : 4.0.4
SqlBuddy   : 1.3.3
XDebug     : 2.2.3

Link para download:

http://sourceforge.net/projects/wampserver/files/WampServer%202/Wampserver%202.4/

Para trabalhar com vhosts temos que adicionar no arquivo hosts os alias com o nome do computador e os sites que você irá trabalhar, segue exemplo abaixo;

C:\Windows\System32\drivers\etc\hosts

127.0.0.1       localhost
127.0.0.1        nome-pc
127.0.0.1        meusite.local
127.0.0.1        meusite.dev

Na sequencia precisamos configurar o Apache para trabalhar com vhosts.

Localizar o arquivo httpd.conf

C:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf

Descomentar as linhas abaixo

#LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so

#Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-vhosts.conf

#LoadModule rewrite_module modules/mod_rewrite.so
LoadModule rewrite_module modules/mod_rewrite.so

 

Agora iremos editar o arquivo httpd-vhosts.conf, adicionando os alias de domínios que informamos no arquivo hosts.

C:\wamp\bin\apache\Apache2.4.4\conf\extra\httpd-vhosts.conf

Acrescentar as linhas abaixo

<VirtualHost localhost:80>
ServerAdmin mail@mail.com
DocumentRoot “C:/wamp/www”
ServerName localhost
ServerAlias localhost
ErrorLog “logs/localhost-error.log”
CustomLog “logs/localhost-access.log” common
</VirtualHost>

<VirtualHost nome-pc:80>
ServerAdmin mail@mail.com
DocumentRoot “C:/wamp/www”
ServerName nome-pc
ServerAlias nome-pc
ErrorLog “logs/nome-pc-error.log”
CustomLog “logs/nome-pc-access.log” common
</VirtualHost>

 

<VirtualHost meusite.local:80>
ServerAdmin mail@mail.com
DocumentRoot “C:/wamp/www/meusite.local”
ServerName meusite.local
ServerAlias meusite.local
ErrorLog “logs/meusite.local-error.log”
CustomLog “logs/meusite.local-access.log” common
</VirtualHost>

 

<VirtualHost meusite.dev:80>
ServerAdmin mail@mail.com
DocumentRoot “C:/wamp/www/meusite.dev”
ServerName meusite.dev
ServerAlias meusite.dev
ErrorLog “logs/meusite.dev-error.log”
CustomLog “logs/meusite.dev-access.log” common
</VirtualHost>

Após acrescentar os dados,  salvar o arquivo e reiniciar os serviços do wamp server, e acessar os endereços configurados;

http://localhost

wamp-img

http://meusite.dev

http://meusite.local

 

Oracle/PLSQL: ASCII – CHR (Character)

 

SELECT
ASCII(‘A’)
,  ASCII(‘Z’)
,  ASCII(‘a’)
,  ASCII(‘z’)
,  ASCII(‘ ‘)
FROM dual;

oracle_sql-plus_ascII

 

oracle_pl-sql_ascII

 

SELECT
ASCII(‘F’)
,  ASCII(‘a’)
,  ASCII(‘b’)
,  ASCII(‘i’)
,  ASCII(‘a’)
,  ASCII(‘n’)
,  ASCII(‘o’)
FROM dual;

oracle_pl-sql_ascII_fabiano SELECT
CHR(’70’)
,  CHR(’97’)
,  CHR(’98’)
,  CHR(‘105′)
,  CHR(’97’)
,  CHR(‘110’)
,  CHR(‘111’)
FROM dual;

oracle_pl-sql_chr_fabiano

http://pt.wikipedia.org/wiki/ASCII

Fazendo o select para o usuário do banco: fabiano

1
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE LIKE 'FABIANO'

Será retornado os privilégios e permissões para as ações, veja a seguir.

Create Table/Criar tabela = Não

Unlimited tablespace = Não

Create Trigger = Não

Create View = Não

Create Materialized View  = Não

Create Synonym = Não

permissao_oracle_DBA_SYS_PRIVSOu Seja o usuário ainda não possui as permissões atribuídas.

Na coluna GRANTEE é o usuário com a permissão concedida, e o PRIVILEGE o privilégio que o usuário tem no acesso ao objeto identificado.

SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE LIKE ‘FABIANO’

SELECT GRANTEE, GRANTED_ROLE, ADMIN_OPTION, DEFAULT_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE LIKE ‘FABIANO’

permissao_oracle_DBA_ROLE_PRIVS

MINUS

Ele verifica a combinação dos resultados com o operador MINUS e retorna somente as linhas únicas referente e primeira consulta.
— Create table
create table FABIANO_A
(
cd_pessoa_fisica NUMBER not null,
nm_pessoa        VARCHAR2(200) not null,
dt_nascimento    DATE,
nr_cpf           NUMBER(15),
nr_rg            VARCHAR2(15),
st_sexo          VARCHAR2(1)
)
tablespace FABIANO_DATA
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);

— Create table
create table FABIANO_B
(
cd_pessoa_fisica NUMBER not null,
nm_pessoa        VARCHAR2(200) not null,
dt_nascimento    DATE,
nr_cpf    

Perdeu uma partição do seu HD? – Passo a passo para a recuperação de arquivos

Explicação passo a passo do artigo

http://blog.fabianobento.com.br/2014/06/perdeu-uma-particao-do-seu-hd/

Após baixar e abrir o aplicativo, na primeira tela selecione a opção para gerar LOG

teste-disk-1

Selecione a HD no qual perdeu a partição.

teste-disk-2Na próxima etapa, é perguntado qual o tipo de partição dos dados no qual foi perdida, INDICO selecionar a opção (NONE).

teste-disk-3

Selecione (Advanced)

teste-disk-4O test disk irá reconhecer qual o tipo de partição havia no disco, nesta etapa indique a opção (LIST) para visualizar os arquivos do HD problemático.

teste-disk-5

Nesta próxima tela será listado todos os arquivos da unidade, (para recuperar para outro local), pressione a tecla ( C )

teste-disk-6

Será mostrado o diretório de cópia, caso esteja correto, pressione ( C ) para continuar.

teste-disk-7

Será iniciado a cópia.

teste-disk-8

Pronto! Seus arquivos foram restaurados.