CSE 3330 Database Concepts

18
CSE 3330 Database Concepts Stored Procedures

description

CSE 3330 Database Concepts. Stored Procedures. How to create a user. CREATE USER.. http://dev.mysql.com/doc/refman/5.1/en/create- user.html GRANT PRIVILEGE http:// dev.mysql.com /doc/ refman /5.1/en/ grant.html. Find list of users. select user from mysql.user ; - PowerPoint PPT Presentation

Transcript of CSE 3330 Database Concepts

Page 1: CSE 3330  Database Concepts

CSE 3330 Database Concepts

Stored Procedures

Page 3: CSE 3330  Database Concepts

Find list of usersselect user from mysql.user;• A wealth of information exists in mysql databaseuse mysql;Show tables;Desc user;

Page 4: CSE 3330  Database Concepts

Stored Procedure• SP is a code written in SQL that is compiled and

stored on the DB server.• Used for repetitive tasks.• You can use programming language constructs like

variables, loops, assignments, cursors, etc• Pre-compiled => Efficient

Page 5: CSE 3330  Database Concepts

BackgroundGood backgroundhttp://code.tutsplus.com/articles/an-introduction-to-stored-procedures-in-mysql-5--net-17843

Advantages:- Share logic- Grant users permissions to SP rather than tables- Security- Improved Performance, reduces network traffic

Page 6: CSE 3330  Database Concepts

Simple SP

Page 7: CSE 3330  Database Concepts

Simple SPDELIMITER $$ -- Create a procedure in Oracle.CREATE PROCEDURE hello_world()BEGIN -- Print the phrase and a line return. SELECT 'Hello World!';END;$$ -- Reset the delimiter back to a semicolon to work again.DELIMITER ; -- Call the procedure.SELECT 'CALL hello_world' AS "Statement";CALL hello_world();

Page 8: CSE 3330  Database Concepts

Simple SP

DELIMITER ;

Why do we change the delimiter?

Page 9: CSE 3330  Database Concepts

Calling SP

Page 10: CSE 3330  Database Concepts

SP Examples

Page 11: CSE 3330  Database Concepts

SP

Page 12: CSE 3330  Database Concepts

Calling SP from PDOhttp://www.mysqltutorial.org/php-calling-mysql-stored-procedures/

http://www.php.net/manual/en/mysqli.quickstart.stored-procedures.php

http://www.joeyrivera.com/2009/using-mysql-stored-procedures-with-php-mysqlmysqlipdo/

Page 13: CSE 3330  Database Concepts

FunctionsFunction MUST return a value, Procedure does not have to.Function invoked within an expression, Procedure invoked with Call

Page 16: CSE 3330  Database Concepts

How to backup a dbMySQL has functions for backing up entire db - includes tables + procedures + functions + ..http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/

Backup:$ mysqldump -u root -p sugarcrm > sugarcrm.sql

Learn to backup your db regularly

Page 18: CSE 3330  Database Concepts

TriggersA trigger is a SQL statement that is executed (or “fired”) when another event occurs.

For example, a trigger may fire when you insert data into a table, update a table, delete a row, etc.

Work through the examples:

https://dev.mysql.com/doc/refman/5.0/en/trigger-syntax.html