|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre du Club
![]() Inscription : juillet 2011 Messages : 202 ![]() |
bonjour j'ai une procédure stockée auquel je souhaiterais ajouter un champ automatiquement
je m'explique si debut(qui est une date de la forme DD/MM/AAAA) est passée, insertion de la valeur 1 par exemple dans la colonne TIME(bool), si la date est future on est met 0... Comment est ce que je pourrais faire ça s'il vous plait ? Code :
Voici la méthode qui sert pour la Procédure stockée: Code :
|
||||
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() ![]() Maxime PALMISANOÉtudiant Inscription : juin 2011 Messages : 379 ![]() |
Bonjour,
Je pense pas que tu trouveras beaucoup d'aide la dessus sur le forum C#
__________________
Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/ |
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() François Chef de projet NTIC Inscription : janvier 2007 Messages : 5 352 ![]() |
En dehors du fait que ta question relève de Sql Server et pas du tout de C#/.Net, l'utilisation des Varchar pour stocker les dates, ça fait frémir
Sinon, comme déjà dit, un CASE ... WHEN .. ELSE doit te permettre de faire cela, ou tout simplement des IF ... END IF;
__________________
Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça... Une réponse vous a aidé ? utiliser le bouton "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel |
|
|
00
|
|
|
#5 | ||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Bonjour,
Voici, comme l'avaient dit BenoitM et BlueDeep, bien que je ne voie pas où est la colonne time, qui est par ailleurs un mot-clé réservé (remplacé par ze_time dans le code ci-dessous) : Code :
- Je ne comprendrai jamais l'intérêt que l'on peut avoir à stocker des dates dans une chaîne, qui plus est un LOB (varchar(max) : 2GB maximum)). Une date avec une précision à 3 millisecondes se stocke dans une variable ou une colonne de type datetime qui occupe 4 octets : 2 pour la date, et deux pour l'heure. Une date seule se stocke sous le type date, on est à 3 octets. Dans les deux cas c'est bien moins que les 10 octets que vous consommez dans un varchar (un octet par caractère), en étant en plus dans l'impossibilité d'utiliser les fonctions de date directement ! - idem pour presque tous les autres paramètres en varchar(max) - si le choix des types de données des colonnes à été proprement fait dans la table dbo.rendezvous, votre code n'étant absolument pas défensif, comment vous assurez-vous de la qualité des données ? - si le choix des types de données des colonnes correspond à ce que vous avez en entrée, alors c'est encore pire, autant au niveau du stockage des valeurs que de la qualité des données - Vous n'avez pas qualifié la table cible de l'INSERT par le nom du schéma auquel elle appartient, qui est dbo, ce qui oblige SQL Server à le chercher pour vous et à réaliser un certain nombre d'autres vérifications de sécurité. Évidemment celles-ci se font très vite et c'est donc de l'ordre du pouillème, mais des pouillèmes et des pouillèmes, ça peut parfois faire beaucoup Je vous renvoie sur les articles de Linchi Shea sur ce sujet. - La fonction @@IDENTITY peut vous retourner des valeurs qui ne correspondent pas à la transaction, et vous pouvez la remplacer par SCOPE_IDENTITY() Bref, RTFM ! @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
||
|
20
|
|
|
#6 |
|
Membre Expert
![]() |
Remarquez il a tout aussi bien typé dans son code client... tout est string pour le coups c'est sa fête...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
10
|
Copyright © 2000-2012 - www.developpez.com