Partage
  • Partager sur Facebook
  • Partager sur Twitter

Simulation de transfert basique d'argent

Sujet résolu
    6 octobre 2023 à 18:01:45

    Bonjour, dans le cadre de mes études, je dois créer un code PostgreSQL PL/pgSQL capable de simuler un simple transfert d'argent d'un compte à l'autre.
    Voici donc mon code :

    DROP TABLE clients, accounts, transactions;
    
    CREATE TABLE IF NOT EXISTS clients
    (
    	id int PRIMARY KEY,
    	name varchar
    );
    
    CREATE TABLE IF NOT EXISTS accounts
    (
    	id int PRIMARY KEY,
    	balance float,
    	client int,
    	FOREIGN KEY (client) REFERENCES clients(id),
    	CHECK (balance >= 0)
    );
    
    CREATE TABLE IF NOT EXISTS transactions
    (
    	id int PRIMARY KEY,
    	payer int,
    	recipient int,
    	amount float,
    	FOREIGN KEY (payer) REFERENCES clients(id),
    	FOREIGN KEY (recipient) REFERENCES clients(id)
    );
    
    
    INSERT INTO clients VALUES (10, 'Client 1');
    INSERT INTO clients VALUES (14, 'Client 2');
    INSERT INTO clients VALUES (25, 'Client 3');
    
    INSERT INTO accounts VALUES (2, 300, 10);
    INSERT INTO accounts VALUES (8, 2000, 14);
    INSERT INTO accounts VALUES (12, 650, 25);
    
    
    
    
    CREATE TRIGGER new_transaction
    AFTER INSERT ON transactions
    BEGIN
    	UPDATE accounts
    	SET balance = balance - 50
    	FROM clients
    	WHERE clients.id = accounts.client AND clients.id = 10;
    	UPDATE accounts
    	SET balance = balance + 50
    	FROM clients
    	WHERE clients.id = accounts.client AND clients.id = 14;
    END;
    
    
    
    
    INSERT INTO transactions VALUES (1, 10, 14, 50);
    SELECT * FROM accounts;


    Mais une erreur de syntaxe l'empêche de fonctionner ...

    Pouvez-vous m'aider, s'il vous plaît ?

    Merci par avance pour vos réponses !

    • Partager sur Facebook
    • Partager sur Twitter
      8 octobre 2023 à 17:42:33

      S'il vous plaît, aidez-moi ...
      • Partager sur Facebook
      • Partager sur Twitter
        10 octobre 2023 à 14:15:10

        bah c'est quoi l'erreur de syntaxe remontée ? 

        • Partager sur Facebook
        • Partager sur Twitter
          13 octobre 2023 à 16:20:48

          umfred a écrit:

          bah c'est quoi l'erreur de syntaxe remontée ? 


          Finalement, j'ai réussi à corriger mon erreur moi-même. Mais merci d'avoir voulu m'aider !
          • Partager sur Facebook
          • Partager sur Twitter
            13 octobre 2023 à 16:24:20

            et c'est quoi l'erreur ? et la solution ?

            -
            Edité par michelbillaud 13 octobre 2023 à 16:24:33

            • Partager sur Facebook
            • Partager sur Twitter
              13 octobre 2023 à 19:51:13

              michelbillaud a écrit:

              et c'est quoi l'erreur ? et la solution ?

              -
              Edité par michelbillaud il y a environ 3 heures


              Je ne sais plus (actuellement, j'utilise Linux et j'ai mon code sur Windows).
              • Partager sur Facebook
              • Partager sur Twitter

              Simulation de transfert basique d'argent

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown