Aller au contenu

« Sql exemples fonctions » : différence entre les versions

De Marmits Wiki
Aucun résumé des modifications
Aucun résumé des modifications
 
Ligne 1 : Ligne 1 :
* 1ere date du moi
* 1ere date du moi
<pre>SELECT DATE_SUB((CURDATE() + INTERVAL 1 DAY),INTERVAL Extract(DAY from now()) DAY);</pre>
<syntaxhighlight lang="sql" line>
SELECT DATE_SUB((CURDATE() + INTERVAL 1 DAY),INTERVAL Extract(DAY from now()) DAY);
</syntaxhighlight>


* le dernier jour du mois précédent   
* le dernier jour du mois précédent   
<pre>SELECT DATE_SUB(CURDATE(),INTERVAL Extract(DAY from now()) DAY);</pre>
<syntaxhighlight lang="sql" line>
SELECT DATE_SUB(CURDATE(),INTERVAL Extract(DAY from now()) DAY);
</syntaxhighlight>


<pre>
<pre>
Ligne 11 : Ligne 15 :


* appel de la fonction boucleInsert avec le nombre de boucle en paramètre (ici 2)
* appel de la fonction boucleInsert avec le nombre de boucle en paramètre (ici 2)
<pre>
<syntaxhighlight lang="sql" line>
SET @p0='2'; CALL `boucleInsert`(@p0);
SET @p0='2'; CALL `boucleInsert`(@p0);
DELIMITER $$
DELIMITER $$
Ligne 21 : Ligne 25 :
FROM appel WHERE id  > 0$$
FROM appel WHERE id  > 0$$
DELIMITER ;
DELIMITER ;
</pre>
</syntaxhighlight>
 
<pre>


<syntaxhighlight lang="sql" line>
DELIMITER $$
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `boucleInsert`(IN `nb` INT(11))
CREATE DEFINER=`root`@`localhost` PROCEDURE `boucleInsert`(IN `nb` INT(11))
Ligne 36 : Ligne 39 :
END$$
END$$
DELIMITER ;
DELIMITER ;
</pre>
</syntaxhighlight>
[[Catégorie:Sql]]
[[Catégorie:Sql]]

Dernière version du 23 février 2025 à 16:33

  • 1ere date du moi
SELECT DATE_SUB((CURDATE() + INTERVAL 1 DAY),INTERVAL Extract(DAY from now()) DAY);
  • le dernier jour du mois précédent
SELECT DATE_SUB(CURDATE(),INTERVAL Extract(DAY from now()) DAY);
boucleInsert(nb)
insertion() 
  • appel de la fonction boucleInsert avec le nombre de boucle en paramètre (ici 2)
SET @p0='2'; CALL `boucleInsert`(@p0);
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `insertion`()
NO SQL
INSERT INTO save_appel 
(date_naissance, appel_id)              
SELECT  DATE(NOW()), id 
FROM appel WHERE id  > 0$$
DELIMITER ;
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `boucleInsert`(IN `nb` INT(11))
NO SQL
BEGIN
DECLARE iter INTEGER DEFAULT 0; 
iterwhile: WHILE iter < nb DO 
    	CALL `insertion`();
    	SET iter = iter + 1; 
END WHILE iterwhile;
END$$
DELIMITER ;