Ir para conteúdo
Gilberto.favato

Criar view outro banco

Recommended Posts

Olá galera, pesquisei mas não encontrei o que procuro.

Trabalho com PHP e Mysql, hospedados em núvem (hostinger).

Quero fazer todo o cadastro/controle de usuários no meu site principal. Assim que o usuário se logar, eu direciono ele para o site específico.

Mas lá no site específico, eu preciso com frequência, consultar a tabela de 'usuarios', que por sua vez está não está no site específico do cliente/usuario, mas sim no site principal (outro banco).

Gostaria que tabela 'usuários' que está em um banco (principal), ficasse disponível em outros bancos sem a necessidade de ficar alterando a conexão. Assim, quando o usuário estiver em seu site específico, todas as suas tabelas, inclusive a tabela 'usuarios' estariam disponiveis em uma unica conexão.

Pensei em criar uma VIEW da tabela 'usuarios', mas a view fica visível sempre dentro do banco onde está a tabela fonte e no meu caso, essa view teria que ficar dentro de outro banco. Isso é possível??

Alguem tem alguma outra ideia??

Agradeço a atenção.

Muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por jomarcoelho
      Numa banco de dados tem 1 tabela com lançamentos gerais de todos os produtos e todos os meses
       
      Tabela de Producao - Geral   ID Produto Quantidade Data 1 Sebo 1000 12/11/2018 2 Canela 2000 12/11/2018 1 Sebo 2000 13/11/2018 3 Osso 100 13/11/2018 1 Sebo 2000 10/10/2018 2 Canela 1000 09/09/2018 2 Canela 1000 09/09/2018 3 Osso 1000 10/10/2018 1 Sebo 1500 20/09/2018 4 Orelha 3000 18/10/2018 1 Sebo 4000 11/10/2018 3 Osso 1200 01/10/2018  

      Qual a consulta correta para extrair a produção total de cada produto dentro do mes.
      Puxando numa so tabela o total “por produto”, dentro do mes.

      Assim:
       
      Tabela de Producao - Setembro Canela 2000   Sebo 1500  
       
      Tabela de Producao - Outubro Sebo 6000   Osso 2200   Orelha 3000  
       
      Tabela de Producao -Novembro Sebo 3000   Canela 2000   Osso 100  
       
    • Por jomarcoelho
      Numa banco de dados tem 1 tabela com lançamentos gerais de todos os produtos e todos os meses
       
      Tabela de Producao - Geral   ID Produto Quantidade Data 1 Sebo 1000 12/11/2018 2 Canela 2000 12/11/2018 1 Sebo 2000 13/11/2018 3 Osso 100 13/11/2018 1 Sebo 2000 10/10/2018 2 Canela 1000 09/09/2018 2 Canela 1000 09/09/2018 3 Osso 1000 10/10/2018 1 Sebo 1500 20/09/2018 4 Orelha 3000 18/10/2018 1 Sebo 4000 11/10/2018 3 Osso 1200 01/10/2018  

      Qual a consulta correta para extrair a produção total de cada produto dentro do mes.
      Puxando numa so tabela o total “por produto”, dentro do mes.

      Assim:
       
      Tabela de Producao - Setembro Canela 2000   Sebo 1500  
       
      Tabela de Producao - Outubro Sebo 6000   Osso 2200   Orelha 3000  
       
      Tabela de Producao -Novembro Sebo 3000   Canela 2000   Osso 100  
       
    • Por Rasp
      Prezados,
       
      Fiz em ambiente local (xampp) uma tela de login simples e está funcionando perfeitamente, sem apresentar qualquer erro, porém, ao subir para meu servidor web (ambos rodam PHP 7.1), o sistema de login não funciona, só gera a mensagem de erro de login e senha. Após verificar os possíveis erros, identifiquei que a consulta SQL não está funcionando, porém, no PHPmyAdmin funciona normalmente (no servidor web), estou usando uma view, mas não encontrei nada que tivesse o mesmo problema que estou passando.
       
      Segue código:
       
      if($sql = $mysqli->prepare("SELECT * FROM `vw_login` WHERE `login` = ? LIMIT 1")) { $sql->bind_param("s", $frmlogin); $sql->execute(); $sql->bind_result($id, $nome, $hash); if($sql->fetch() AND Bcrypt::check($frmsenha, $hash)) { ... header('Location: /'); } else { session_destroy(); $retorno = "Login ou senha incorretos."; } $sql->close(); } Obrigado!
    • Por Patricia_W
      Olá!
       
      Pessoal, sou nova por aqui..
      Estou precisando de uma ajuda..
       
      Preciso identificar se uma view criada no banco de dados é 100% igual à estrutura da tabela na qual ela se baseia.
       
      Por exemplo, se eu tenho a tabela XPTO com 5 colunas e 1000 linhas, quero identificar que esta view  retorna, ao se realizar um select nela, as mesmas 5 colunas  e 1000 linhas, sem nenhum tipo de filtro ou modificação na apresentação das colunas.
      No meu caso, posso ter aliases nas views. Ex:
       
      TABELA XPTO
      Name      Type         Nullable Default Comments 
      --------- ------------ -------- ------- -------- 
      XPTOCOD   NUMBER(12)                             
      XPTONOM   VARCHAR2(30)                           
       
      CREATE OR REPLACE VIEW V_XPTO
      (COD_XPTO, NOM_XPTO)
      AS
      SELECT XPTOCOD, XPTONOM   FROM XPTO
       
      O que preciso é identificar justamente os casos acima e desconsiderar quando as views não forem 100% da tabela, como nos casos abaixo (entre outros). 
       
      CREATE OR REPLACE VIEW V_XPTO
      (COD_XPTO, NOM_XPTO, DESCRICAO)
      AS
      SELECT XPTOCOD, XPTONOM, 'TEXTO'
             FROM XPTO
      ------
      CREATE OR REPLACE VIEW V_XPTO
      (COD_XPTO, NOM_XPTO)
      AS
      SELECT XPTOCOD, XPTONOM
             FROM XPTO
             WHERE COD_XPTO > 10
      ------ 
      CREATE OR REPLACE VIEW V_XPTO
      (COD_XPTO, NOM_XPTO)
      AS
      SELECT XPTOCOD, XPTONOM
             FROM XPTO
             GROUP BY XPTOCOD 
      ------     
      CREATE OR REPLACE VIEW V_XPTO
      (COD_XPTO)
      AS
      SELECT XPTOCOD
             FROM XPTO
      ------
      CREATE OR REPLACE VIEW V_XPTO
      (NOM_XPTO)
      AS
      SELECT SUBSTR(XPTONOM,1,2)
             FROM XPTO
      ------    
      CREATE OR REPLACE VIEW V_XPTO
      (COD_XPTO, NOM_XPTO)
      AS
      SELECT XPTOCOD, XPTONOM
             FROM XPTO, ABC
             WHERE XPTO.XPTOCOD = ABC.XPTOCOD
             
       
      Voces conhecem alguma forma de fazer isso??
       
      Obrigada :))
    • Por zeboladao
      Boa tarde pessoal, estou com um problema..
       
      Minha tela de listagem mostra todos os dados da tabela "PESSOA", todos não.. os importantes, CPF, NOME, TELEFONE, ATIVO etc..
       
      Existe uma tabela chamada MATRICULA q tem o idpessoa fazendo referencia.
      Nessa matricula existe um campo chamado EVADIDO pra saber se a pessoa evadiu daquele curso q se matriculou.
       
      COmo eu faço pra saber, na minha LISTAGEM, quantas vezes esssa pessoa (aluno) já evadiu de uma matricula(curso), sendo que não tem esse campo na tabela de pessoa, somente pela tabela de matriculas.
       
      Acho que ficou fácil de entender, meu sistema usa esse select atualmente:
       
      SELECT pe.* FROM pessoas pe INNER JOIN cidades ci ON (ci.idcidade=pe.idcidade)  INNER JOIN estados es ON (ci.idestado=es.idestado)  WHERE pe.removido = 'N';  
      Esse Inner JOIN Cidades e Estado é essencial também pois na minha listagem aparece o nome da cidade pois referencia por um ID (as cidades e estados são cadastrados no banco)... o mesmo pra estado.. Preciso deixar tudo isso dentro do mesmo select.
       
      Agradeço antecipadamente!
       
      -- -- Estrutura da tabela `pessoas` -- CREATE TABLE `pessoas` ( `idpessoa` int(10) UNSIGNED NOT NULL, `idcidade` int(10) UNSIGNED NOT NULL, `ativo` enum('S','N') NOT NULL DEFAULT 'S', `removido` enum('S','N') NOT NULL DEFAULT 'N', `login_ativo` enum('S','N') NOT NULL DEFAULT 'S', `data_cad` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `nome` varchar(100) NOT NULL, `estado_civil` enum('S','C','D','V') DEFAULT NULL, `etnia` enum('B','P','N','O','A') NOT NULL, `data_nasc` date NOT NULL, `naturalidade` varchar(100) DEFAULT NULL, `documento` varchar(20) NOT NULL, `rg` varchar(20) DEFAULT NULL, `rg_orgao_emissor` varchar(20) DEFAULT NULL, `rg_data_emissao` date DEFAULT NULL, `nis` varchar(11) NOT NULL, `filiacao_mae` varchar(100) DEFAULT NULL, `filiacao_pai` varchar(100) DEFAULT NULL, `cep` int(8) UNSIGNED DEFAULT NULL, `endereco` varchar(100) DEFAULT NULL, `bairro` varchar(100) DEFAULT NULL, `numero` varchar(10) DEFAULT NULL, `complemento` varchar(100) DEFAULT NULL, `login` varchar(100) DEFAULT NULL, `email` varchar(100) DEFAULT NULL, `sit_ocupacional` enum('EM','DE','AU','AP') DEFAULT NULL, `emp_profissao` varchar(30) DEFAULT NULL, `emp_empresa` varchar(30) DEFAULT NULL, `pcd_visual` enum('BAI','CEG') DEFAULT NULL, `pcd_mental` enum('MEN') DEFAULT NULL, `pcd_auditiva` enum('SBP','SBT') DEFAULT NULL, `pcd_fisica` enum('AMP','1MS','1MI','CAD','NAN','AMS','AMI','OST','PAC','PAR') DEFAULT NULL, `vinc_empregaticio` enum('CA','AU','ME','FP','OU','NT') DEFAULT NULL, `pcd` enum('S','N') NOT NULL, `pcd_qual` enum('F','A','M','V') DEFAULT NULL, `pcd_grau` enum('L','M','A') DEFAULT NULL, `nacionalidade` varchar(100) NOT NULL, `escolaridade` enum('FI','FC','MI','MC','SI','SC') NOT NULL, `formacao` varchar(30) DEFAULT NULL, `sit_escolaridade` enum('C','I','T') DEFAULT NULL, `sit_escolaridade_curso` varchar(30) DEFAULT NULL, `sit_escolaridade_periodo` enum('1','2','3','4','5','6','7','8','9','10') DEFAULT NULL, `instituicao` varchar(100) DEFAULT NULL, `curso_fundat` enum('S','N') DEFAULT NULL, `curso_fundat_qual` varchar(200) DEFAULT NULL, `nr_membros_familia` int(11) NOT NULL, `renda_familiar` enum('1','2','3','4','5','6') NOT NULL, `password` varchar(128) DEFAULT NULL, `observacoes` text, `prog_federal` enum('S','N') DEFAULT NULL, `prog_federal_qual` varchar(200) DEFAULT NULL, `encaminhado_instituicao` enum('S','N') NOT NULL, `encaminhado_instituicao_qual` varchar(200) DEFAULT NULL, `telefone1` varchar(15) DEFAULT NULL, `telefone2` varchar(15) DEFAULT NULL, `ultimo_view` datetime DEFAULT NULL, `ultima_senha` datetime NOT NULL, `avatar_nome` varchar(100) DEFAULT NULL, `avatar_servidor` varchar(100) DEFAULT NULL, `avatar_tipo` varchar(100) DEFAULT NULL, `avatar_tamanho` int(10) UNSIGNED DEFAULT NULL, `sexo` enum('M','F','N') DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Estrutura da tabela `matriculas` -- CREATE TABLE `matriculas` ( `idmatricula` int(10) UNSIGNED NOT NULL, `idhorariooferta` int(10) UNSIGNED NOT NULL, `idpessoa` int(10) UNSIGNED NOT NULL, `removido` enum('S','N') NOT NULL DEFAULT 'N', `data_cad` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `matricula` int(8) UNSIGNED ZEROFILL DEFAULT NULL, `situacao` enum('M','I') NOT NULL DEFAULT 'M', `evadido` enum('S','N') NOT NULL DEFAULT 'N', `desistente` enum('S','N') DEFAULT 'N', `reprovado` enum('S','N') DEFAULT 'N' ) ENGINE=InnoDB DEFAULT CHARSET=latin1;  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.