Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1511 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Procédure stocké SQL server

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Procédure stocké SQL server

n°307797
zetoune
Posté le 12-02-2003 à 18:12:18  profilanswer
 

je fais une prodécure stockée et il me met une erreur je ne vois pas pourquoi , quelqu un peut il m'aider ?
 

BEGIN
 
    SET @SQL= 'UPDATE ' + @TableName +  
      ' SET ' + @ColumnName  
      + ' =  REPLACE(' + @ColumnName + ', '  
      + QUOTENAME(@SearchStr, '''') + ', ' + QUOTENAME(@ReplaceStr, '''') +  
      ') WHERE Id_Site='+ @Id_site +'  AND ' + @ColumnName + ' LIKE ' + @SearchStr2  
    EXEC (@SQL)
       END


 
Error converting data type nvarchar to bigint.
 
C'est le champ Id_site qui est bigInt... pourtant j ai bien le bon parametre.. et il est déclaré.. je comprend pas.

mood
Publicité
Posté le 12-02-2003 à 18:12:18  profilanswer
 

n°307834
HappyHarry
Posté le 12-02-2003 à 19:19:00  profilanswer
 

ben pasque t'as mis des quotes :sarcastic:
 
/me a dit une betise


Message édité par HappyHarry le 12-02-2003 à 19:21:42
n°307836
zetoune
Posté le 12-02-2003 à 19:20:01  profilanswer
 

ben c'est une chaine que je construit.. j'ai pas le choix..
comment tu fais ?

n°307837
HappyHarry
Posté le 12-02-2003 à 19:22:01  profilanswer
 

fais voir la procédure en entier

n°307839
zetoune
Posté le 12-02-2003 à 19:26:08  profilanswer
 

CREATE PROC SP_SearchAndReplace
(
 @SearchStr nvarchar(100),
 @ReplaceStr nvarchar(100),
 @NomTable nvarchar(100),
 @NomColonne nvarchar(100),
 @Id_Site bigint
)
AS
BEGIN
 
 
 SET NOCOUNT ON
 
 DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110), @SQL nvarchar(4000), @RCTR int
 SET  @TableName = @NomTable
 SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''')
 SET @RCTR = 0
 SET  @ColumnName = @NomColonne
 
   BEGIN
 
    SET @SQL= 'UPDATE ' + @TableName +  
      ' SET ' + @ColumnName  
      + ' =  REPLACE(' + @ColumnName + ', '  
      + QUOTENAME(@SearchStr, '''') + ', ' + QUOTENAME(@ReplaceStr, '''') +  
      ') WHERE Id_Site=' + @Id_Site + ' AND ' + @ColumnName + ' LIKE ' + @SearchStr2  
    EXEC (@SQL)
       END
 
END
GO


 
 
J'ai corrigé ma procédure comme suit et ca , ca fonctionne..
mais je trouve ca un peu barbare..
 

CREATE PROC SP_SearchAndReplace
(
 @SearchStr nvarchar(100),
 @ReplaceStr nvarchar(100),
 @NomTable nvarchar(100),
 @NomColonne nvarchar(100),
 @Id_Site bigint
)
AS
BEGIN
 
 
 SET NOCOUNT ON
 
 DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110), @SQL nvarchar(4000), @RCTR int
 SET  @TableName = @NomTable
 SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''')
 SET @RCTR = 0
 SET  @ColumnName = @NomColonne
 
   BEGIN
 
    SET @SQL= 'UPDATE ' + @TableName +  
      ' SET ' + @ColumnName  
      + ' =  REPLACE(' + @ColumnName + ', '  
      + QUOTENAME(@SearchStr, '''') + ', ' + QUOTENAME(@ReplaceStr, '''') +  
      ') WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2  
    EXEC (@SQL + ' AND ID_Site=' + @Id_Site)
       END
 
END
GO


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Procédure stocké SQL server

 

Sujets relatifs
[SQL] problème avec des IN[Requête SQL] completer un nom dans une requête merci
SQL Serveur - Un historique des requêtes faites sur le serveur !?Conversion Base Access vers SQL... Aidez-moi SVP !
Sous requete SQL +MYSQL ou comment effacer lignes ds des tables liées?[SQL] Requete avec LIKE : erreur de syntaxe O_o
[SQL Server] création de verrou bloquantP'tite question SQL (mySQL) - résolu (merci tomlameche! :-))
[SQL] faire la somme des 5 derniers champs non nulls?[SQL server] Passer un tableau en parametre d'une procédure stocké?
Plus de sujets relatifs à : Procédure stocké SQL server


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR