begin process at 2012 05 26 21:28:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Procédures Stockées

 > 

requete dans un lot dts


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

requete dans un lot dts

jeudi 24 août 2006 à 00:32:43 | requete dans un lot dts

xzonz

salut tout le monde

voila ma question

j'ai une requete qui fait les actions suivantes
- verification de la presence d'une table (status_export)
  si oui on la supprime
-copie de la structure dune deuxieme table (status...qui va servir de source)
-insert du contenu de status dans status export
-transformation de deux champs de la table status_export
 (format de date et d'heure)
-supression dans status_export des lignes qui ne correspondent pas à la date du jour
et pour finir j'aimerais exporter la table status_export vers un fichier txt

est il possible de faire ca avec un lot dts ?
j'ai essayé ... mais je ne maitrise pas du tout les différent éléments disponibles
dans le concepteur dts ... j'ai éssayé plein de lots différents ... mais je n'y arrive pas !!
j'ai besoin d'un coup de main.car mes debuts avec dts sont laborieux
MERCI BEAUCOUP
ah ... j'oubliais ... voila la requete ....elle fonctionne bien !
--------------------------------------------------------------------------------
/* on teste si la table existe - si oui on la supprime */
/*-----------------------------------------------------*/
if exists (select * from dbo.sysobjects where id =
object_id(N'[dbo].[STATUS_EXPORT]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[STATUS_EXPORT]

/* on recopie la structure de la table status dans STATUS_EXPORT */
/*---------------------------------------------------------------*/
select * into STATUS_EXPORT
from STATUS
where 1=2

/* on copie les données de status dans STATUS_EXPORT */
/*---------------------------------------------------*/
insert into STATUS_EXPORT
select [status_id],[status_ident],[status_date],[status_starttime],[status_ani],[status_waitingtime],
[status_talktime],[status_wrapuptime],[status_status],[status_detail],[status_argued],[status_positive],
[status_transfert],[status_comtype],[status_numcamp],[status_camptype],[status_layer],[status_user],
[status_idlink],[rec_cle]
from STATUS

/* modification du format de status_date et status_startime au format MySql */
/*--------------------------------------------------------------------------*/
update STATUS_EXPORT
set status_date = left(status_date, 4) + '-' + substring(status_date, 5, 2) + '-' + right(status_date, 2),
status_starttime = left(status_starttime, 2) + ':' + substring(status_starttime, 3, 2) + ':' + right(status_starttime, 2)

/* on supprime les lignes differentes de la date du jour dans status_export */
/*---------------------------------------------------------------------------*/
delete from STATUS_EXPORT
where STATUS_DATE not in (
SELECT CONVERT(VARCHAR(10), GETDATE(), 120))




jeudi 24 août 2006 à 10:08:54 | Re : requete dans un lot dts

skweeky

Membre Club Administrateur CodeS-SourceS
Avec des tâches de scripts SQL çà doit marcher sans problèmes, en découpant les différentes portions de ton scripts dans différentes tâches.

Petit commentaire, c'est quoi l'interêt que tu as à faire çà :

/* on recopie la structure de la table status dans STATUS_EXPORT */
/*---------------------------------------------------------------*/
select * into STATUS_EXPORT
from STATUS
where 1=2

/* on copie les données de status dans STATUS_EXPORT */
/*---------------------------------------------------*/
insert into STATUS_EXPORT
select [status_id],[status_ident],[status_date],[status_starttime],[status_ani],[status_waitingtime],
[status_talktime],[status_wrapuptime],[status_status],[status_detail],[status_argued],[status_positive],
[status_transfert],[status_comtype],[status_numcamp],[status_camptype],[status_layer],[status_user],
[status_idlink],[rec_cle]
from STATUS


Au lieu de çà :

select * into STATUS_EXPORT
from STATUS


Et tu finis par une tâche de d'export (pour la créer tu peux partir de l'assistant d'exportaion de données c'est sans doute plus simple, en lui disant de sauvegarder le lot DTS à la sortie)


Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration
jeudi 24 août 2006 à 17:25:05 | Re : requete dans un lot dts

xzonz

salut

merci beaucoup pour le conseil au sujet de:
select * into STATUS_EXPORT
from STATUS

c'est quand meme mieux

pour l'export vers un txt c'est bon j'ai trouvé
(c'était pas bien difficile)

mais quand je suis dans le concepteur dts
quel type de tache utiliser pour pouvoir
executer un script sql - est ce une tache de transformation
de donnée .... et comment la configurer ?
c'est la ou je suis un peu perdu !
jeudi 24 août 2006 à 17:30:37 | Re : requete dans un lot dts

skweeky

Membre Club Administrateur CodeS-SourceS
C'est une tâche de scripts SQL ou T-SQL


Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration
samedi 26 août 2006 à 18:40:56 | Re : requete dans un lot dts

Malkuth

Membre Club
pour aller un peu plus loin dans l'optimisation je pense que la conversion de champs et la selection des champs du jour peuvent être faite directement dans la requette  SELECT INTO :

select 
   [status_id],
   [status_ident],
   left(status_date, 4) + '-' + substring(status_date, 5, 2) + '-' + right(status_date, 2) as [status_date],
   left(status_starttime, 2) + ':' + substring(status_starttime, 3, 2) + ':' + right(status_starttime, 2) as [status_starttime],
   [status_ani],
   [status_waitingtime],
   [status_talktime],
   [status_wrapuptime],
   [status_status],
   [status_detail],
   [status_argued],
   [status_positive],
   [status_transfert],
   [status_comtype],
   [status_numcamp],
   [status_camptype],
   [status_layer],
   [status_user],
   [status_idlink],
   [rec_cle]
into
   STATUS_EXPORT
from
   STATUS
where
   STATUS_DATE = GETDATE();



Cette discussion est classée dans : date, table, export, status, dts


Répondre à ce message

Sujets en rapport avec ce message

executer un lot dts selon des parametres [ par xzonz ] bonjour a toutes et tous  voila ce que j'aimerais fairej'ai un lot dts qui fait l'export d 'une table vers un fichier excel mais il peut arriver que l requetes sql parametrées [ par houhou72 ] bonjours j'ai un message d'erreur qui s'affiche: utilisation incorrecte du mot-cle. element date voici ma requete select * from recu(ma table) where d Comparer date('y-m-d') avec un champs DATETIME [ par reedbedroom ] Bonjour à tous, Je recherche à pouvoir comparer une date simple obtenu par date('y-m-d')avec un champs datetime situé dans une table. Mon souci est problème de procedure stocké [ par ManuAntibes ] Bonjour je developpe en VB 2005 EXPRESS et SQL EXPRESSJe souhaite faire un ajouter à table mais j'ai ce message d'erreur :ERROR [42000] [Microsoft][SQ Date de modification des données d'une table [ par demonsurf ] Bonjour à tous. J'explique mon problème : j'ai besoin de pouvoir contrôler la date de la dernière modification des tables de ma BDD. Je fais déjà un Connaitre la date de modification d'une table t-sql [ par Tolliap ] Bonjour, Ma question est simple, la solution peut-être pas : Est-il possible via une requête de savoir a quel date les données d'une table SQL ont é Comparaison de record dans une meme table à des dates différentes [ par Jaxom ] Bonjour à tous, J'ai une table avec les resultats de plusieurs commerces par jour; ma table ressemble à ceci: Id, date, Id_Commerce, CA, NbreClient Calcul difference en jour entre 2 dates issues de la meme table [ par dide122 ] Bonjour, voici ma requete, mais le calcul ne se fait pas: Pb:, le resultat m'affiche bien le nombre d'enregistrements trouvés pour chacune des deux r Supprimer une date antérieure à une autre [ par billou_13 ] Bonjour, Alors, voila je dois faire une requête SQL permettant de supprimer toutes les informations d'une table où les dates seraient antérieures à 6


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,558 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales