Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : requete dans un lot dts [ SQL Server, MSDE, SQL Express / Procédures Stockées ] (xzonz)

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é 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 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 probleme de requete [ par aquewel ] Voila j'ai une requete ou je voudrais comparer la date d'aujourd'hui et la date de ma base de données et voir si il y a une difference egal ou superie Requete sur champs Date [ par yanis7518 ] Salut a tous ma question est assez simple mais je ne sais pas comment faireVoila j'ai une table avec 3champs dont 1 champs date qui correspond a la da lot dts sqlserver avec parametres [ par xzonz ] Salut a toutes et tous je n'arrive pas a trouver comment faire ceci:j'ai dans une table des données relatives a une journéevoila ce que je dois faire: Comparaison de date!! [ par pascallgagnon ] Bonjout tlm!!Voilà, j'ai une Bd access avec une table étudiant, une table cours et une table résultat qui est une table d'intersection entre les 2.Je Comparaison de date!! [ par pascallgagnon ] Bonjout tlm!!Voilà, j'ai une Bd access avec une table étudiant, une table cours et une table résultat qui est une table d'intersection entre les 2.Je insertion d'une date aleatoire [ par sosou80 ] bjr ts le monde , voila mon petit prob :   je viens de creer ds une table un champ pr saisir la date, ce champs s'appel  creationdate.   cette table c primary key sur type date [ par stefff01 ] Bonjour, J'aimerais mettre une clé primaire sur une table "historique" composée d'un numéro vers une autre table ainsi que d'une date. Le but serait d 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

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,640 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.