¿Es posible obtener el nombre del Procedimiento almacenado actual en el servidor MS SQL? ¿Puede haber alguna variable del sistema o función como GETDATE()
?Nombre del procedimiento de ejecución actual
Respuesta
Usted puede intentar esto:
SELECT OBJECT_NAME(@@PROCID)
Actualización: Este comando es todavía válida en SQL Server 2016.
Usted puede utilizar OBJECT_NAME(@@PROCID)
Devuelve el identificador de objeto (ID) de el módulo Transact-SQL actual. Un módulo Transact-SQL puede ser un procedimiento almacenado , función definida por el usuario o activador .
OBJECT_SCHEMA_NAME(@@PROCID) + '.' + OBJECT_NAME(@@PROCID)
+1 El esquema es importante. –
Si usa esto dentro de un Proc temp, devuelve NULL, con o sin la recuperación de nombre de esquema. Primero proc es "normal", segundo es temporal, en este código: 'COMENZAR TRAN GO CREATE PROC utility.TempProc AS SELECT OBJECT_SCHEMA_NAME (@@ procid) + + OBJECT_NAME (@@ procid) IR ''. EXEC utility.TempProc GO ROLLBACK GO COMENZAR TRAN IR CREATE utilidad PROC. # TempProc AS SELECT OBJECT_SCHEMA_NAME (@@ procid) + ''. + OBJECT_NAME (@@ procid) IR utilidad EXEC. # TempProc GO ROLLBACK GO' – SAinCA
En el caso específico en el que está interesado en el nombre de la procedimiento almacenado temporal que se está ejecutando, lo puede conseguir a través de:
select name
from tempdb.sys.procedures
where object_id = @@procid
- 1. Ejecución del procedimiento almacenado sincronizado en mysql
- 2. Linq: ejecución de interrupción del procedimiento almacenado
- 3. Recuperación dinámica del nombre del método actual
- 4. ¿La ejecución del procedimiento almacenado de T-SQL es "atómica"?
- 5. Obtener el nombre del ensamblado de la aplicación web, independientemente del ensamblaje de ejecución actual
- 6. Averiguar el nombre del procedimiento PL/SQL
- 7. Cómo obtener el nombre del procedimiento/función actual en Delphi (como una cadena)
- 8. Oracle PL/SQL: cómo obtener la pila, el nombre del paquete y el nombre del procedimiento
- 9. ¿Recibe el nombre del editor de la aplicación ClickOnce actual?
- 10. PHP Obtener el nombre del directorio actual
- 11. Obtener el nombre del método actual
- 12. ¿Existe un "estoy seguro" para la ejecución del procedimiento almacenado? :)
- 13. Ejecución programada del procedimiento almacenado en el servidor SQL
- 14. Retraso en la ejecución del disparador/procedimiento MySQL
- 15. Buscar procedimiento almacenado por nombre
- 16. procedimiento almacenado - forzando orden de ejecución
- 17. ¿Obtiene el nombre del archivo en ejecución en Java?
- 18. Obtener la ejecución del nombre del ensamblado usando la reflexión
- 19. Obtener el nombre del archivo de secuencia de comandos actual
- 20. Problema con el procedimiento de ejecución en PL/SQL Developer
- 21. ¿Cómo puedo acceder al módulo de ejecución actual o al nombre de clase en Python?
- 22. Obtener el nombre del esquema del procedimiento almacenado que se está ejecutando actualmente
- 23. ¿Recuperar el nombre y apellido del usuario actual de Windows?
- 24. Encontrar el nombre del archivo de configuración actual
- 25. ¿Cómo obtener el nombre de nodo primario del nodo actual?
- 26. Yank nombre de archivo/ruta del búfer actual en Vim
- 27. ¿Cómo encontrar el nombre de la función actual en tiempo de ejecución?
- 28. ¿Cómo encontrar el nombre del procedimiento almacenado utilizando el nombre de columna en Oracle 11g
- 29. Nombre de objeto inválido - Procedimiento almacenado
- 30. ¿Cómo obtener el área de ejecución actual?
También funciona para SQL Express 2008 R2 ? – gbbosmiya
Sí, lo hace: http://technet.microsoft.com/en-us/library/ms174408.aspx –
Vale la pena señalar que el valor devuelto es del tipo SYSNAME. – Buggieboy