[SQL] Insertion multiple
Dans de nombreuses bases de données, il existe la possibilité d’effectuer une insertion multiple avec une seule requête SQL. La syntaxe suivante montre comment écrire la requête pour ajouter deux enregistrements.
Programmation, jeux vidéo, astuces et actualités IT
Accueil » SQL Server
Dans de nombreuses bases de données, il existe la possibilité d’effectuer une insertion multiple avec une seule requête SQL. La syntaxe suivante montre comment écrire la requête pour ajouter deux enregistrements.
Dans SQL Server, il est possible de convertir en date courte ou en chaine de caractères une colonne de type DATETIME. On peut utiliser la fonction CONVERT() ou encore la fonction CAST(). Dans cet exemple, nous utilisons la première qui prend en paramètre le type de données de destination ainsi que sa longueur (facultative), l’expression à convertir et enfin le style qui spécifie comment doit être traduite l’expression.
SELECT CONVERT(VARCHAR(10), [ma_colonne], 112)
FROM table
La requête va renvoyer des dates au format ISO « AAAAMMJJ » soit l’année, le mois et le jour. Si on regarde la documentation, c’est grâce à la valeur 112 spécifiée pour le style que l’on obtient ce résultat. On peut donc facilement personnaliser la valeur retournée par la requête. Cela peut également être très pratique dans une condition.
Pour modifier le type d’une colonne dans une table DB2/400, vous pouvez utiliser la syntaxe ALTER TABLE … ALTER COLUMN. Il faudra cependant spécifier une clause supplémentaire : SET DATA TYPE. Cela vous permettra de changer la taille par exemple, ou bien passer d’un entier sur 4 octets à un entier sur 8. Exemple :
ALTER TABLE 'biblio.table' ALTER COLUMN email
SET DATA TYPE varchar(50);
Dans cet exemple nous modifions la colonne qui contient l’e-mail en indiquant qu’on souhaite une chaine de caractères à taille variable d’un maximum de 50 caractères. Dans SQL Server, cela donnerait quelque chose comme ceci :
ALTER TABLE 'schema.table' ALTER COLUMN email varchar(50);
Et dans Oracle ou même MySQL :
ALTER TABLE 'schema.table' MODIFIY COLUMN email varchar(50);
Bon développement !
Lorsque vous effectuez une insertion dans une colonne avec une valeur numérique trop grande ou lorsque vous effectuez par exemple une somme impliquant une ou plusieurs colonnes numérique dont le résultat dépasse le type imposé (par exemple, le résultat obtenu dépasse l’entier), vous obtenez l’exception 80040e57 avec par exemple le message d’erreur suivant : “Arithmetic overflow error converting expression to data type int”.
Poursuivre la lecture « [SQL] 80040e57 : Arithmetic Overflow SQL Server »
Lorsque vous tentez d’exécuter une requête sur un serveur distant SQL Server, vous pouvez obtenir l’erreur suivante : “Erreur 80040e31, le délai d’attente de la requête a expiré”. En fait, le serveur n’a pas répondu assez vite à la commande envoyée.
En effet, il faut bien distinguer le temps d’exécution maximum d’une requête distante (qu’on définit dans les paramètres de SQL Server) et le temps accordé avant qu’une commande envoyée n’expire. C’est pour cela qu’on ne doit pas modifier directement de paramètre sur le serveur mais bien dans la chaine de connexion à la base de données.
Poursuivre la lecture « [WD17] Le délai d’attente de la requête a expiré »
Pour certains, il pourrait s’agir d’un rappel de syntaxe, pour d’autres, et ce fut mon cas, ceci est plutôt une découverte. Lorsque vous souhaitez sauvegarder rapidement le contenu d’une table sans passer par un système complexe, il vous suffit d’utiliser une requête de type SELECT … INTO … FROM.
Poursuivre la lecture « [SQL] Nouvelle table via un SELECT INTO »
Cookie | Description |
---|---|
cookielawinfo-checkbox-advertisement | Set by the GDPR Cookie Consent plugin, this cookie records the user consent for the cookies in the "Advertisement" category. |
cookielawinfo-checkbox-analytics | Set by the GDPR Cookie Consent plugin, this cookie records the user consent for the cookies in the "Analytics" category. |
cookielawinfo-checkbox-necessary | Set by the GDPR Cookie Consent plugin, this cookie records the user consent for the cookies in the "Necessary" category. |
cookielawinfo-checkbox-others | Set by the GDPR Cookie Consent plugin, this cookie stores user consent for cookies in the category "Others". |
CookieLawInfoConsent | CookieYes sets this cookie to record the default button state of the corresponding category and the status of CCPA. It works only in coordination with the primary cookie. |
Cookie | Description |
---|---|
CONSENT | YouTube sets this cookie via embedded YouTube videos and registers anonymous statistical data. |
Cookie | Description |
---|---|
VISITOR_INFO1_LIVE | YouTube sets this cookie to measure bandwidth, determining whether the user gets the new or old player interface. |
YSC | Youtube sets this cookie to track the views of embedded videos on Youtube pages. |
yt-remote-connected-devices | YouTube sets this cookie to store the user's video preferences using embedded YouTube videos. |
yt-remote-device-id | YouTube sets this cookie to store the user's video preferences using embedded YouTube videos. |
Cookie | Description |
---|---|
HAxBimEThzj | Description is currently not available. |
iIJNEZDCQBULPrgh | Description is currently not available. |
QIsSBkKeLEq | Description is currently not available. |