Bonjour,
Je souhaiterais connaitre la syntaxe d'une requête pour extraire les procédures stockées et les fonctions dans des fichiers qui portent le nom des procédures stockées et des fonctions auxquels elles font références
Cordialement
battl14
Version imprimable
Bonjour,
Je souhaiterais connaitre la syntaxe d'une requête pour extraire les procédures stockées et les fonctions dans des fichiers qui portent le nom des procédures stockées et des fonctions auxquels elles font références
Cordialement
battl14
Bonjour,
Essayez ceci :
@++ ;)Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 -->>>> A EXECUTER SUR LA BD DEPUIS LAQUELLE ON SOUHAITE REALISER L'EXPORT SET NOCOUNT ON DECLARE CUR_PROC CURSOR FOR SELECT name FROM maBD.sys.objects WHERE type IN ('P', 'FN', 'IF', 'TF') -- Procédure, fonction scalaire, fonction table incluse, fonction table FOR READ ONLY DECLARE @szNomProc SYSNAME OPEN CUR_PROC FETCH NEXT FROM CUR_PROC INTO @szNomProc WHILE @@FETCH_STATUS = 0 BEGIN SELECT definition INTO ##PROC_TEXT FROM maBD.sys.sql_modules WHERE OBJECT_NAME(object_id) = @szNomProc DECLARE @szBCP VARCHAR(512) SET @szBCP = 'bcp "SELECT * FROM ##PROC_TEXT" queryout C:\' + @szNomProc + '.sql -T -c' EXEC xp_cmdshell @szBCP, NO_OUTPUT DROP TABLE ##PROC_TEXT FETCH NEXT FROM CUR_PROC INTO @szNomProc END DEALLOCATE CUR_PROC
Et pourquoi pas un BCP sur la colonne ROUTINE_DEFINITION de la vue INFORMATION_SCHEMA.ROUTINES ?
A +
J'aurais été déçu que tu ne poses pas la question :D
La seule raison justifiant le choix de sys.sql_modules est que c'est la seule vue exposant l'intégralité du code SQL des modules, et non pas les 4000 premiers caractères proposés par INFORMATION_SCHEMA.ROUTINES.
@++ ;)
Il me semble (mais à vérifier ) que les N premiers caractères (4000 pour NVARCHAR) c'est lié à l'IHM SSMS. Pas la vue...
A +
Merci cela m'a bien servi !
Par contre pour les tables le fichier est vide ?
Code:
1
2
3 SELECT name FROM Sherman.sys.objects WHERE type IN ('U', 'TR')
ici des ps qui permet de faire des exports en sql :
http://vyaskn.tripod.com/code.htm#inserts