lunes, 30 de marzo de 2009

buscar textos en procemientos almacenados.

hace unos dias, vi aun compañero de trabajo buscar texto en los procedimientos almacenados. que es bastante util, cuando queremos ver cuando se hace un insert a una tabla o cosas por el estilo.


select SUBSTRING(text,0,40) from syscomments where text like '%textoABuscar%'


Remplazen el "textoABuscar" por lo que quieran buscar.

esto es para Sql Server



--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

10 comentarios:

  1. Victor, creo que no era tan solo eso , ademas yo vi que lo que buscaba era quien creaba las tablas y dijo esto no se crea por un spag se crea por codigo, o estoy viendo puras leceras ??¿?¿?

    ResponderEliminar
  2. tu dices que busca en los create tables????

    Si es asi lo comprobe y no me trajo nada cuando busque por el nombre de una tabla.

    ResponderEliminar
  3. bueno aprovechando no sabes un codigo que diga quien creo una cierta tabla y por que procedimiento almacenado, tengo unas querys para calcular el tamaño de la BBDD por si las quieras.

    ResponderEliminar
  4. gracias.
    lo haces de esta forma

    SELECT * FROM sysfiles

    ResponderEliminar
  5. buscando por ahi tb enconte esta forma

    EXEC sp_spaceused

    cual usas tu??

    o ninguna de estas?

    ResponderEliminar
  6. me equivoque estaba seguro que lo tenia hecho para sql server pero es para oracle, te lo dejo = para que lo tengas.


    select sum(bytes)/1024/1024 Table_Allocation_MB from user_segments
    where segment_type in ('TABLE','INDEX') and
    (segment_name='nombreTable' or segment_name in
    (select index_name from user_indexes where table_name='nombreTable'))

    ResponderEliminar
  7. Hace unos años una compañera de trabajo me paso este script para hacer lo mismo:

    declare @search varchar(50)
    SET @search = 'texto a buscar'

    SELECT
    ROUTINE_NAME,
    ROUTINE_DEFINITION
    FROM
    INFORMATION_SCHEMA.ROUTINES
    WHERE
    ROUTINE_DEFINITION LIKE '%' + @search + '%'
    ORDER BY
    ROUTINE_NAME

    La desventaja con el script original es que consulta la tabla syscomments, la cual se mantiene solo por compatibilidad con versiones anteriores y puede desaparecer en cualquier momento: http://msdn.microsoft.com/es-es/library/ms186293.aspx.

    ResponderEliminar
  8. encontre lo que use en mi antiguo trabajo


    SELECT (DATALENGTH([id])) as Tamano_Bytes_Column_Id,(DATALENGTH(name)) as Tamano_Bytes_Column_name
    FROM table


    el dato clave para buscar era Size o sizing :D.

    ResponderEliminar
  9. y si quiero que todos abrirlos de golpe todos esos procedimientos como le puedo hacer .... todos los que tengan una determinada cadena ... quiero que se habran ??? se puede ???'

    ResponderEliminar
  10. y si quiero mostrar los datos de una tabla que le meti datos con procedimiento almacenado y quiero que tambien me muestre el codigo de la tabla ¿Que se puede hacer?

    ResponderEliminar