Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] CREATE VIEW POR LINHA DE COMANDO

Olá, boa tarde!

Criei uma View de Notas fiscais por linha de comando e deu certo, consegui manipular os dados sem problema. Porém, eu criei de forma simples sem os parâmetros abaixo, mas gostaria de saber se esses parâmetros fazem a diferença na prática e qual é o significado deles. Grata!

ALGORITHM = UNDEFINED 
DEFINER  = `root`@`localhost` 
SQL SECURITY DEFINER
2 respostas

Oi, tudo bem?

Os parâmetros que você mencionou, têm funções específicas na criação de uma View no MySQL.

  • ALGORITHM = UNDEFINED: o MySQL suporta três algoritmos para processamento de views: MERGE, TEMPTABLE e UNDEFINED. Esses algoritmos são usados para determinar como a view será processada. Quando definimos como UNDEFINED, o MySQL escolhe automaticamente qual algoritmo usar. Se você não especificar um algoritmo, o MySQL usará UNDEFINED como padrão.
  • DEFINER = 'root'@'localhost': define quem é o criador da view. Isso é importante para questões de controle de acesso e segurança. Neste caso, o criador da view é o usuário "root" que está no "localhost". Se você não especificar um DEFINER, o MySQL usará o usuário e o host que estão executando a instrução como padrão.
  • SQL SECURITY DEFINER: é responsável pelo contexto de segurança a ser usado ao verificar o controle de acesso ao visualizar a view. Quando definido como DEFINER, os privilégios do usuário que definiu a view são usados. Quando definido como INVOKER, os privilégios do usuário que está invocando a view são usados. Se você não especificar um contexto de segurança, o MySQL usará DEFINER como padrão.

Portanto, esses parâmetros são importantes para o controle de como a view será processada e como o controle de acesso será verificado. Se você não os especificar, o MySQL usará os valores padrão.

Espero ter ajudado. Caso tenha dúvidas, conte com o fórum. Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!
solução!

Entendi. Obrigada Rodrigo! Abraços!