Identity MySQL DML User
Home

Identity MySQL DML User

Identity MySQL DML User

CRUD stored procedures voor de User tabel. De afspraak is dat de namen voor de stored procedurs beginnen met de naam van de tabel gevolgd door de naam van de CRUD handeling. De naam wordt in pascalnotatie geschreven.

Probleem

We moeten de gegevens van een basiseenheid kunnen inserten, updaten, deleten en selecteren. De selectie moet kunnen gebeuren op basis van de gebruikersnaam en van het emailadres.

Design

Naam Beschrijving
CategoryInsert bevat 1 OUTPUT parameter om de nieuw Id te retourneren naar het calling programma
CategoryUpdate deze stored procedure updatet alle kolommen van de rij met de opgegeven Id
CategorySelectOne lees 1 rij in uit de tabel op basis van de Id, neem alle kolommen mee voor het detail venster
CategorySelectAll lees alle rijen in uit de tabel maar alleen de kolommen die we in de lijst willen laten zien (waarvoor YES in de List kolom staat)
CategorySelectByUserName lees 1 rij in uit de tabel op basis van de gebruikersnaam maar alleen de kolommen die we in de lijst willen laten zien (waarvoor YES in de List kolom staat)
CategorySelectByEmail ees 1 rij in uit de tabel op basis van het emailadres maar alleen de kolommen die we in de lijst willen laten zien (waarvoor YES in de List kolom staat)

Oplossing

-- modernways.be
-- created by an orm apart
-- Entreprise de modes et de manières modernes
-- MySql DML
-- Created : Monday 1st of February 2016 11:37:52 AM
-- DML Insert Stored Procedure for User 
-- 
USE Webshop;
DROP PROCEDURE IF EXISTS UserInsert;
DELIMITER //
CREATE PROCEDURE `UserInsert`
(
	OUT pId INT ,
	IN pUserName NVARCHAR (50) ,
	IN pEmail VARCHAR (80) ,
	IN pPassword CHAR (128) ,
	IN pLastActivity DATETIME ,
	IN pFirstLogin DATETIME ,
	IN pAuthenticated BIT ,
	IN pLockedOut BIT 
)
BEGIN
INSERT INTO `User`
	(
		`User`.`UserName`,
		`User`.`Email`,
		`User`.`Password`,
		`User`.`LastActivity`,
		`User`.`FirstLogin`,
		`User`.`Authenticated`,
		`User`.`LockedOut`
	)
	VALUES
	(
		pUserName,
		pEmail,
		pPassword,
		pLastActivity,
		pFirstLogin,
		pAuthenticated,
		pLockedOut
	);
	SELECT LAST_INSERT_ID() INTO pId;
END //
DELIMITER ;

-- modernways.be
-- created by an orm apart
-- Entreprise de modes et de manières modernes
-- MySql DML
-- Created : Monday 1st of February 2016 11:37:52 AM
-- DML Update Stored Procedure for User
-- 
USE Webshop;
DROP PROCEDURE IF EXISTS UserUpdate;
DELIMITER //
CREATE PROCEDURE `UserUpdate`
(
	pId INT ,
	pUserName NVARCHAR (50) ,
	pEmail VARCHAR (80) ,
	pPassword CHAR (128) ,
	pLastActivity DATETIME ,
	pFirstLogin DATETIME ,
	pAuthenticated BIT ,
	pLockedOut BIT 
)
BEGIN
UPDATE `User`
	SET
		`UserName` = pUserName,
		`Email` = pEmail,
		`Password` = pPassword,
		`LastActivity` = pLastActivity,
		`FirstLogin` = pFirstLogin,
		`Authenticated` = pAuthenticated,
		`LockedOut` = pLockedOut
	WHERE `User`.`Id` = pId;
END //
DELIMITER ;

-- modernways.be
-- created by an orm apart
-- Entreprise de modes et de manières modernes
-- MySql DML
-- Created : Monday 1st of February 2016 11:37:52 AM
-- DML Delete Stored Procedure for User 
-- 
USE Webshop;
DROP PROCEDURE IF EXISTS UserDelete;
DELIMITER //
CREATE PROCEDURE `UserDelete`
(
	 pId INT 
)
BEGIN
DELETE FROM `User`
	WHERE `User`.`Id` = pId;
END //
DELIMITER ;

-- modernways.be
-- created by an orm apart
-- Entreprise de modes et de manières modernes
-- MySql DML
-- Created : Monday 1st of February 2016 11:37:52 AM
-- DML SelectOne Stored Procedure for User 
-- 
USE Webshop;
DROP PROCEDURE IF EXISTS UserSelectOne;
DELIMITER //
CREATE PROCEDURE `UserSelectOne`
(
	 pId INT 
)
BEGIN
SELECT * FROM `User`
	WHERE `User`.`Id` = pId;
END //
DELIMITER ;

-- modernways.be
-- created by an orm apart
-- Entreprise de modes et de manières modernes
-- MySql DML
-- Created : Monday 1st of February 2016 11:37:52 AM
-- DML SelectAll Stored Procedure for table User 
-- 
USE Webshop;
DROP PROCEDURE IF EXISTS UserSelectAll;
DELIMITER //
CREATE PROCEDURE `UserSelectAll`
(
)
BEGIN
SELECT `User`.`Id`,
	`User`.`UserName`,
	`User`.`Email`,
	`User`.`Password`,
	`User`.`Authenticated`,
	`User`.`LockedOut`
	FROM `User`
	ORDER BY `UserName`;
END //
DELIMITER ;

-- modernways.be
-- created by an orm apart
-- Entreprise de modes et de manières modernes
-- MySql DML
-- Created : Monday 1st of February 2016 11:37:52 AM
-- DML SelectById Stored Procedure for table User
-- 
USE Webshop;
DROP PROCEDURE IF EXISTS UserSelectById;
DELIMITER //
CREATE PROCEDURE `UserSelectById`
(
	 pId INT 
)
BEGIN
SELECT `User`.`Id`,
	`User`.`UserName`,
	`User`.`Email`,
	`User`.`Password`,
	`User`.`Authenticated`,
	`User`.`LockedOut`

	FROM `User`
	WHERE `User`.`Id` = pId;
END //
DELIMITER ;

-- modernways.be
-- created by an orm apart
-- Entreprise de modes et de manières modernes
-- MySql DML
-- Created : Monday 1st of February 2016 11:37:52 AM
-- DML SelectByUserName Stored Procedure for table User
-- 
USE Webshop;
DROP PROCEDURE IF EXISTS UserSelectByUserName;
DELIMITER //
CREATE PROCEDURE `UserSelectByUserName`
(
	 pUserName NVARCHAR (50) 
)
BEGIN
SELECT `User`.`Id`,
	`User`.`UserName`,
	`User`.`Email`,
	`User`.`Password`,
	`User`.`Authenticated`,
	`User`.`LockedOut`

	FROM `User`
	WHERE `User`.`UserName` = pUserName
	ORDER BY `User`.`UserName`;
END //
DELIMITER ;

-- modernways.be
-- created by an orm apart
-- Entreprise de modes et de manières modernes
-- MySql DML
-- Created : Monday 1st of February 2016 11:37:52 AM
-- DML SelectByEmail Stored Procedure for table User
-- 
USE Webshop;
DROP PROCEDURE IF EXISTS UserSelectByEmail;
DELIMITER //
CREATE PROCEDURE `UserSelectByEmail`
(
	 pEmail VARCHAR (80) 
)
BEGIN
SELECT `User`.`Id`,
	`User`.`UserName`,
	`User`.`Email`,
	`User`.`Password`,
	`User`.`Authenticated`,
	`User`.`LockedOut`

	FROM `User`
	WHERE `User`.`Email` = pEmail
	ORDER BY `User`.`Email`;
END //
DELIMITER ;

JI
2016-02-01 11:40:04