Question : Le procédé stocké fait une boucle etc.

Salut tous,

Im essayant de créer un procédé stocké qui fait une boucle par une table et convertit des cordes de date et d'heure c.-à-d. 20100801 175900 en objet date-heure. Cet objet date-heure veut alors être inséré en une autre colonne. J'ai écrit à un todo de PS ceci mais je continue à obtenir l'erreur « doit « le @FirstID » déclarer que variable scalaire. » Je ne comprends pas pourquoi en tant que lui ne semble y avoir aucun problème déclarant le varible. Si n'importe qui pourrait aider, ou m'aider à ranger ce vers le haut de lui serait grateful.
class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
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 :
28 :
29 :
30 :
31 :
32 :
33 :
34 :
35 :
36 :
37 :
38 :
39 :
40 :
41 :
42 :
43 :
44 :
45 :
46 :
PROCÉDÉ " de " codeSnippet867152 d'id= " de
ALTER de class= [dbo]. [wsp_Update_DateTime] (char @Table (50), char de @TableID (50), char de @DateField (50), char de @TimeField (50), char de @DateTimeField (50))
	-- Ajouter les paramètres pour le procédé stocké ici
	
AS
COMMENCER
	-- PLACER NOCOUNT DESSUS supplémentaire pour empêcher les ensembles supplémentaires de résultat de
	-- interférence des rapports CHOISIS.
	PLACER NOCOUNT DESSUS ;

	DÉCLARER le @FirstID international
	DÉCLARER le char de @Date (20)
	DÉCLARER le char de @Time (20)
	DÉCLARER le char de @DT (40)
	DÉCLARER la date-heure de @DateTime

	DÉCLARER le @cmd COMME NVARCHAR (maximum)

	PLACER le @cmd = le @FirstID = la minute de Ne SELECT (« + @TableID + ") DE '+ @Table
	@cmd de sp_executesql d'EXEC 

	TANDIS QUE LE @FIRSTID N'EST PAS NUL
	COMMENCER

		DÉCLARER @cmd2 comme NVARCHAR (maximum) ;

		PLACER @CMD2 = @DATE DE Ne SELECT = « + @DATEFIELD + », @TIME = « + @TIMEFIELD + » DE « + @TABLE + » OÙ « + @TABLEID + » = '+ @TABLE ;

		Sp_executesql @cmd2 d'EXEC ;

		PLACER le @DT = la sous-chaîne (@Date, 1.4) + « - » + sous-chaîne (@Date, 5.2) + « - » + sous-chaîne (@Date, 7.2) + « « + sous-chaîne (@Time, 1.2) + » :  » + sous-chaîne (@Time, 3.2) + « :  » + sous-chaîne (@Time, 5.2) ;

		PLACER le @DateTime = le converti (date-heure, @DT, 20) ;

		DÉCLARER @cmd3 comme NVARCHAR (maximum) ;

		PLACER @CMD3 = N'UPDATE « + @TABLE + » PLACENT « + @DATETIMEFIELD + » = @DATETIME OÙ « + @TABLEID + » = @FIRSTID';

		Sp_executesql @cmd3 d'EXEC ; 
	
		DÉCLARER @cmd4 COMME NVARCHAR (maximum)

		PLACER @cmd4 = @FirstID = minute de Ne SELECT (« + @TableID + ") DE « + @Table + » OÙ « + @TableID + » > @FirstID';
		
		Sp_executesql @cmd4 d'EXEC 

	EXTRÉMITÉ
class= de

Réponse : Le procédé stocké fait une boucle etc.

Je commencerais par pas using le SQL dynamique si possible.  Tellement en d'autres termes au lieu du dépassement à la table et à la colonne avoir un procédé stocké pour chaque table.  Que votre rapport de MISE À JOUR peut être réduit à :

METTRE À JOUR YourTableName
PLACER YourDateTimeColumn = CONVERTI (date-heure, SUBSTANCE (SUBSTANCE (SUBSTANCE (SUBSTANCE (YourDateCharColumn, 5, 0, « - »), 8, 0, « - »), 14, 0, « : "), 17, 0, « : "), 120)
LÀ OÙ YourTableID = @FirstID
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us