Qual è la differenza tra i due? In entrambi i casi? cosa succede ai privilegi concessi su questa funzione? Vengono automaticamente revocati in entrambi i casi e devono essere nuovamente forniti durante la ricreazione? Si prega di spiegare.creare o sostituire v/s Eliminazione di una funzione e ricrearlo
6
A
risposta
14
Quando un oggetto viene rilasciato, anche tutti gli elementi associati vengono eliminati, inclusi i privilegi. Questo non è vero per CREATE OR REPLACE.
SQL> create procedure p1 is
2 begin
3 null;
4 end;
5/
Procedure created.
SQL> grant execute on p1 to xyz;
Grant succeeded.
SQL> select * from user_tab_privs_made
2/
GRANTEE TABLE_NAME GRANTOR PRIVILEGE GRA HIE
------------------------------ ------------------------------ ------------------------------ ---------------------------------------- --- ---
XYZ P1 APC EXECUTE NO NO
SQL> create or replace procedure p1 is
2 n pls_integer;
3 begin
4 n := 1;
5 end;
6/
Procedure created.
SQL> select * from user_tab_privs_made
2/
GRANTEE TABLE_NAME GRANTOR PRIVILEGE GRA HIE
------------------------------ ------------------------------ ------------------------------ ---------------------------------------- --- ---
XYZ P1 APC EXECUTE NO NO
SQL> drop procedure p1;
Procedure dropped.
SQL> create or replace procedure p1 (p in out pls_integer) is
2 begin
3 p := p+1;
4 end;
5/
Procedure created.
SQL> select * from user_tab_privs_made
2/
no rows selected
SQL>
4
Credo che se si sostituisce una funzione, i privilegi rimangono intatti, anche se io di solito piace creare sinonimi pubblici e privilegi concedere a quelli.
Replace è una parola chiave opzionale utilizzato in definizioni di oggetti (DDL) per sostituzione della definizione objet vecchio con uno nuovo. Conserva i privilegi di accesso dell'oggetto durante la procedura di modifica delle definizioni . Se l'oggetto viene eliminato e ricreato, tuttavia, i suoi privilegi sono persi.
Problemi correlati
- 1. Come sostituire correttamente gli operatori globali nuovi e di eliminazione
- 2. CREARE O SOSTITUIRE VISTA errore sql
- 3. Ramo di riutilizzo Git o eliminazione e creazione di nuovo
- 4. Passare una funzione alla funzione di Powershell (sostituire)
- 5. ajax.actionlink sostituire vs ReplaceWith
- 6. Come creare una funzione
- 7. FragmentManager sostituire vs Aggiungere
- 8. È possibile sostituire una funzione all'interno di una classe PHP?
- 9. Creare e restituire un ImageFieldFile predefinito dall'interno di una funzione
- 10. Posso creare una funzione usa e getta in uno script o una procedura memorizzata?
- 11. funzione delegate vs funzione callback
- 12. Funzione di sostituzione di Python [sostituire una volta]
- 13. sostituire stringa in XSLT 2.0 con funzione di sostituire
- 14. Differenza Javascript tra chiamare una funzione e creare un'istanza di una funzione
- 15. Composizione di una funzione Java e consumer
- 16. Quali sono i vantaggi e/o le insidie nel chiamare una funzione direttamente da un tag di ancoraggio o creare un carico di eventi?
- 17. Creare una classe JS: IIFE vs prototipo di ritorno
- 18. Eliminazione di una riga con una chiave
- 19. Eliminazione di una filiale remota
- 20. Creare una funzione di callback Javascript?
- 21. Esiste una funzione o un operatore di libreria per creare una tupla?
- 22. Utilizzo di una funzione o di un metodo di tipo?
- 23. Sostituire un regolare submatch espressione utilizzando una funzione
- 24. Sostituire parti di una variabile utilizzando indici numerici in dplyr. Devo creare una colonna indice e usare ifelse?
- 25. costo di chiamare una funzione o non in Javascript
- 26. come creare e chiamare una funzione personalizzata in jQuery
- 27. Posso sostituire una funzione del kernel Linux con un modulo?
- 28. View.OnClickListener() una funzione o interfaccia
- 29. Metodo globale vs funzione vs classe statica
- 30. Come reindirizzare all'interno di una funzione ViewResult o ActionResult?
Potrebbe non essere corretto ma la cronologia di controllo è stata mantenuta anche? – Rob