OVH Cloud OVH Cloud

procedure stockées

2 réponses
Avatar
Cédric SICARD
bonjour,
j'aimerais savoir où est stocké dans sql serveur le code d'une procedure
stockée (j'aimerais récuperer le code sans utiliser entreprise manager).

d'avance merci

2 réponses

Avatar
Fred.M.
Une table system existe dans chaque base et registre toute les définitions de
procédure stockée, vue et trigger : c'est la table Syscomment.



"Cédric SICARD" a écrit :

bonjour,
j'aimerais savoir où est stocké dans sql serveur le code d'une procedure
stockée (j'aimerais récuperer le code sans utiliser entreprise manager).

d'avance merci





Avatar
Oliv'
Cédric SICARD wrote:
bonjour,
j'aimerais savoir où est stocké dans sql serveur le code d'une
procedure stockée (j'aimerais récuperer le code sans utiliser
entreprise manager).

d'avance merci


Bonjour,
Essaye sp_helptext 'maprocedure'
Sinon il y a eu des post il a quelques temps sur le sujet avec la procedure
suivante :

Oliv'
---A CREER DANS UN FICHIER DE COMMANDE
--- POUR COPIER UNE PS dans un fichier.


1er BATCH :

CALL SQL_Generate cp_AddressDeleteByAddressId -- C'est le nom d'une
procédure

2ème BATCH :

@ECHO OFF
REM ----------------------------------------
REM -
REM ----------------------------------------
ECHO if exists (select * from dbo.sysobjects where id
=object_id(N'[dbo].[%1]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) >
%1_Entete.sql
ECHO drop procedure [dbo].[%1] >> %1_Entete.sql
ECHO GO >> %1_Entete.sql
ECHO. >> %1_Entete.sql
ECHO SET QUOTED_IDENTIFIER OFF >> %1_Entete.sql
ECHO GO >> %1_Entete.sql
ECHO SET ANSI_NULLS ON >> %1_Entete.sql
ECHO GO >> %1_Entete.sql
ECHO. >> %1_Entete.sql

REM ----------------------------------------
REM -
REM ----------------------------------------
CALL osql -Usa -Psa -SMon_Server -dMaBase -h-1 -s"" -w4000 /Q"SET NOCOUNT
ON;SELECT SysComments.text FROM SysObjects INNER JOIN SysComments ON
SysObjects.id = SysComments.id WHERE SysObjects.name = '%1' COLLATE
database_default ORDER BY SysComments.colid" -o c:sql%1_Corp.sql

REM ----------------------------------------
REM -
REM ----------------------------------------
COPY %1_Entete.sql+%1_Corp.sql %1.sql
DEL c:SQL%1_Entete.sql
DEL c:SQL%1_Corp.sql



----
SET NOCOUNT ON;SELECT SysComments.text FROM SysObjects INNER JOIN
SysComments ON SysObjects.id = SysComments.id WHERE SysObjects.name =
'sp_SQLSMTPMail_csv' COLLATE database_default ORDER BY SysComments.colid