Je viens de créer une procédure stockée pour insérer des données dans une table après avoir effectué certains calculs. Mon créer un code de procédure est la suivante:GETDATE() provoquant une erreur de syntaxe dans SQL Server 2008
ALTER PROCEDURE [dbo].[myStoredProc]
@log_id INT,
@job_nm VARCHAR(20),
@feed_in_out_ind CHAR(1) = null,
@process_dt DATETIME = null,
@procedure_dt DATETIME = NULL,
@procedure_nm VARCHAR(20),
@object_ty VARCHAR(20),
@operation_ty VARCHAR(20),
@num_records INT,
@success_status BIT,
@error_msg VARCHAR(50) = NULL,
@start_time DATETIME,
@end_time DATETIME = null
AS
Lorsque je tente d'appeler la procédure stockée, si j'utilise le GETDATE() pour l'une des datetimes, je reçois une erreur de syntaxe Incorrect syntax near ')'
Quand je remplace la commande getdate() un datetime réel, la procédure s'exécute correctement.
Voici mon code d'appel:
EXEC myStoredProc
@log_id = 1,
@job_nm = 'It',
@feed_in_out_ind = 'i',
@process_dt = GETDATE(),
@procedure_dt = GETDATE(),
@procedure_nm = 'Test 1',
@object_ty = 'test',
@operation_ty = 'test',
@num_records = 50,
@success_status = 0,
@error_msg = 'Hello',
@start_time = GETDATE(),
@end_time = GETDATE()
Toutes les idées? Merci.
Grande solution de contournement, mais il ne donne aucune explication du problème sous-jacent. –
Cela a fonctionné - Merci. Le problème est que j'appellerai cette procédure de beaucoup d'autres procédures stockées. J'ai vraiment besoin de comprendre ce qui a provoqué cela, de sorte qu'il peut être travaillé d'une manière moins «bandaid». – chama
Ce n'est pas un pansement. Voir "Spécification des paramètres" sur cette page dans les documents: http://msdn.microsoft.com/en-us/library/ms189915(v=SQL.100).aspx. – Anna