OVH Cloud OVH Cloud

Urgent ! Script sql

2 réponses
Avatar
ucasesoftware
Bonjour

if exists (select * from dbo.sysobjects where id =3D
object_id(N'[dbo].[dbo.[Get_Visiteurs_By_Nom] ]') and
OBJECTPROPERTY(id, N'IsProcedure') =3D 1)
drop procedure [dbo].[Get_Visiteurs_By_Nom]
GO

CREATE PROCEDURE dbo.[Get_Visiteurs_By_Nom]
AS
SELECT * FROM VISITEUR
RETURN
GO


=3D> dans mon installer (vb.net) quand je monte ma base mon script me
renvoi l'erreur suivante : CREATE PROCEDURE doit etre la premi=E8re d'un
lot !
J'ai pourtant GO qui s=E9pare

Est-ce qu'un pro de sql peut me r=E9soudre le probl=E8me !!! j'avoue que
l=E0 je suis d=E9pas=E9

2 réponses

Avatar
Pierre
Bonjour,

avec ado.net, il est conseillé de séparer des lots de commande pat un ";"
essaie de faire ceci.

dim strSQL as string
strSQL = "if exists..... ; Create proc....."

on oublie le "GO" dans ce cas.

tu exécute ta requête avec strSQL qui encapsule tes 2 instructions.
Ado.net va se charger d'exécuter ceci en 2 temps dans la même instruction.

@+



a écrit dans le message de news:

Bonjour

if exists (select * from dbo.sysobjects where id object_id(N'[dbo].[dbo.[Get_Visiteurs_By_Nom] ]') and
OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[Get_Visiteurs_By_Nom]
GO

CREATE PROCEDURE dbo.[Get_Visiteurs_By_Nom]
AS
SELECT * FROM VISITEUR
RETURN
GO


=> dans mon installer (vb.net) quand je monte ma base mon script me
renvoi l'erreur suivante : CREATE PROCEDURE doit etre la première d'un
lot !
J'ai pourtant GO qui sépare

Est-ce qu'un pro de sql peut me résoudre le problème !!! j'avoue que
là je suis dépasé
Avatar
ucasesoftware
apparement pierre j'ai trouvé la réponse (le ; je le faisait déja)
c'est pour pour les procédures stockées je dois faire un
executeNonQuery a chaque procedure

Impossible de faire comme avec les create table ou tu peux tout
regrouper

Merci de ton aide