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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Créer une procedure stockée

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Créer une procedure stockée

n°1338365
miki2505
Posté le 04-04-2006 à 08:57:04  profilanswer
 

Bonjour ,
Je voudrai créer une procédure stockée qui crée une table dont le nom de la dite table est un paramètre mais je n'y parviens pas.Pourriez-vous m'aider
 
Voici comment j'ai fais  mais sans succès : en lançant dans Query Analyzer de cette façon :
 EXEC PROCREATE 'table01' j'ai toujours un message d'erreur disant que l'objet @param est déjà dans la table.
 
CREATE PROCEDURE [dbo].[PROCREATE]  @param char(15)  AS
CREATE TABLE [dbo].[@param] (
 [CODMAG] [nvarchar] (10) COLLATE French_CI_AS NULL ,
 [CODART] [nvarchar] (20) COLLATE French_CI_AS NOT NULL ,
 [LIBELLE] [nvarchar] (50) COLLATE French_CI_AS NULL ,
 [libeltech] [nvarchar] (50) COLLATE French_CI_AS NULL ,
 [groupe] [nvarchar] (10) COLLATE French_CI_AS NULL ,
 [UNITE] [nvarchar] (5) COLLATE French_CI_AS NULL ,
 [QUANTITE] [real] NULL ,
 [SEUILmag] [real] NULL ,
 [PRIX_VENTE] [real] NULL ,
 [PRIX_DOLLAR] [real] NULL ,
 [prix_unitaire_dollar] [real] NULL ,
 [pa_fc] [real] NULL ,
 [LMH] [real] NULL ,
 [LMB] [real] NULL ,
 [encours] [real] NULL ,
 [code loca] [nvarchar] (10) COLLATE French_CI_AS NULL ,
 [shelf] [nvarchar] (30) COLLATE French_CI_AS NULL ,
 [aprix_unitaire_dollar] [real] NULL ,
 [compte charge] [nvarchar] (10) COLLATE French_CI_AS NULL ,
 [image] [image] NULL ,
 [code arturi] [nvarchar] (10) COLLATE French_CI_AS NULL ,
 [NAME3] [nvarchar] (50) COLLATE French_CI_AS NULL ,
 [code pe1] [nvarchar] (10) COLLATE French_CI_AS NULL ,
 [NAME4] [nvarchar] (50) COLLATE French_CI_AS NULL ,
 [code pe2] [nvarchar] (10) COLLATE French_CI_AS NULL ,
 [name5] [nvarchar] (50) COLLATE French_CI_AS NULL ,
 [priorite] [nvarchar] (1) COLLATE French_CI_AS NULL ,
 [group3] [nvarchar] (10) COLLATE French_CI_AS NULL
 
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO


---------------
Je me forme moi même par mes lectures
mood
Publicité
Posté le 04-04-2006 à 08:57:04  profilanswer
 

n°1338953
THX
Eleveur de Big Jim de Paris.
Posté le 04-04-2006 à 17:01:24  profilanswer
 

Salut,  
 
tu ne peux pas passer un nom de table en variable.  
 
Tu peux faire comme ça à la limite :  
 

Code :
  1. CREATE   PROCEDURE [PROCREATE]
  2. (
  3. @TABLE varchar(150)
  4. )
  5. as
  6. declare @sql varchar(2500)
  7. set @sql = 'CREATE TABLE [' + @TABLE + '] (' +
  8. '[CODMAG] [nvarchar] (10) COLLATE French_CI_AS NULL,' +
  9. 'etc.... Etc... ' +
  10. ') ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] '
  11. exec(@sql)
  12. GO


 
L'idéal étant de tester le nom de la table avant sa création pour voir si elle n'existe pas déja et ne pas avoir d'erreur...


Message édité par THX le 04-04-2006 à 17:01:52
n°1341312
instantdha​rma
Ailleurs c'est ici
Posté le 07-04-2006 à 11:49:54  profilanswer
 

Ou tu fais une proc qui génère la proc de création ; question bête : pourquoi des procs plutot que des scripts ?


---------------
di. / www.diredaredare.org - Ailes de la ville

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

  Créer une procedure stockée

 

Sujets relatifs
asp est les procédure stockéesCréer une carte de sites Intranet automatiquement
Comment faire un Select du resultat d'une Procedure Stockée ?[resolu] Listbox en paramètre d'une procédure
[Résolu] Créer un objet à partir du nom de son typeCopier et créer enregistrements dans table Access
[VBS] Créer un OU s'il n'éxiste pas (Active Directory)[lazarus] créer un lien vers une page web
[SQL] créer une vue avec une procedure stockée ?créer une table dans une procédure stockée sous interbase ?
Plus de sujets relatifs à : Créer une procedure stockée


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