SchoolZone
ȸ¿ø°¡ÀÔ | | ȸ¿øÇýÅÃ
[¹®¹ý] MYSQL ¿¡¼­ Stored Procedure »ç¿ëÇϱâ(³»ºÎ Transaction »ç¿ë°¡´É)
±Û¾´ÀÌ Á¦·Ï ³¯ Â¥ 06-08-16 19:39 Á¶ ȸ 5738
0. Áغñ»çÇ× : MYSQL5.x ÀÌ»ó. À¥¿¡¼­ »ç¿ëÇÒ °æ¿ì PHP5.x ÀÌ»ó



1. Å×ÀÌºí »ý¼º

CREATE TABLE `TranTest` (
  `num` int(11) NOT NULL auto_increment,
  `col01` varchar(32) default NULL,
  PRIMARY KEY  (`num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


CREATE TABLE `TranTest2` (
  `num` int(11) NOT NULL auto_increment,
  `col01` varchar(32) default NULL,
  PRIMARY KEY  (`num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;





2. ÀÔ·Â ¿ë ÇÁ·Î½ÃÀú »ý¼º

CREATE PROCEDURE `Prc_TranTest_Input`
(
    in in_col01 varchar(32)
)

BEGIN
    INSERT INTO TranTest SET col01 = in_col01;
END;


3. SELECT ¿ë ÇÁ·Î½ÃÀú »ý¼º

CREATE PROCEDURE `Prc_TranTest_Select`
(
    in in_col01 varchar(32)
)
BEGIN

    SELECT num, col01 FROM TranTest WHERE col01 like concat(in_col01, '%') ;

END;


4. Transaction ¿ë ÇÁ·Î½ÃÀú »ý¼º

CREATE PROCEDURE `Prc_TranTest_InError`
(
)
    NOT DETERMINISTIC
    SQL SECURITY DEFINER
    COMMENT ''
BEGIN

    DECLARE dbErr int default 0;
    DECLARE CONTINUE HANDLER FOR SQLEXCEPTION  SET dbErr = -1;
    
    START TRANSACTION;

    INSERT INTO TranTest SET col01 = '1234';
    INSERT INTO TranTest2 SET col012 = '1234'; //ÀϺη¯ ¿¡·¯°ªÀ» ³»±âÀ§ÇØ Ä®·³¸íÀ» ´Ù¸£°Ô Àû½À´Ï´Ù.
    
    IF dbErr < 0 THEN
        ROLLBACK;
    ELSE
        COMMIT;
    END IF;

END;



5. PHP ¸¦ ÀÌ¿ëÇÏ¿© SELECT ¹× ÀÔ·ÂÇϱâ

$mysqli  = new mysqli("localhost", "USERID", "USERPW", "USERDB");

if (mysqli_connect_error()) {
    printf("Connect Failed : %s\n", mysqli_connect_error());
    exit;
}

$mysqli->query("set names utf8");

//SELECT
if($qry = $mysqli->query("Call Prc_TranTest_Select('123')")) {
    $rs = $qry->fetch_object();

    echo $rs->col01;
}

//INSERT TranTest;
$mysqli->query("Call Prc_TranTest_InError()");
³Ê¸¸»ç¶ûÇØ 06-08-16 22:03
ÁÁÀºÁ¤º¸ ¤£.
Ä®¼Ø 06-08-17 03:27
¿ì¿Í~ MySQL¿¡¼­µµ ½ºÅä¾îµå ÇÁ·Î½ÃÁ®¸¦ @.@
Çѹߦ»ðÁúÇѹø 07-01-16 21:40
À̰Ŷ§¹®¿¡ 5.0À»..
ÇÏÁö¸¸ ¿©ÀüÈ÷ Ŭ·¯½ºÅÍ´Â ¾Èµ¥¿ë
¾ÆÁÖÀÛÀº»õ 06-08-17 16:04
¸ÚÁö³×¿ä
Ç϶ûÀ̯ 06-08-17 16:49
¸ÚÁö³×¿ä ¤£
¹Ù¶ó¹Ì~ 06-08-18 17:31
µðµ® »ç¿ëÀÌ °¡´É ÇѰ¡ º¸³»¿ë~~¤»¤»
ÀÌÀçÇÊ 06-08-18 20:15
¤¡¤µ
ÇϾᳯ°³ 06-08-31 15:33
¹®Á¦´Â php¿¡¼­ call ÇÑ´ÙÀ½ÀÌ ¹®Á¦ ÀÔ´Ï´Ù.
ÀÏ¹Ý select ¹®À» Äõ¸®·Î ³¯¸®¸é ¹®Á¦°¡ ¾ÈµÇÁö¸¸
callÀ» µÎ¹ø ½ÇÇàÇÒ¼ö°¡ ¾ø´õ±º¿ä
Á¦·Ï 06-09-06 09:51
ÇϾᳯ°³// ÀÌ ±ÛÀ» ¿Ã¸®°í ³ª¼­ ÇØ´ç ¹®Á¦¿¡ ºÎµúÇû½À´Ï´Ù.
ÇØ¼­ Àú °°Àº °æ¿ì PDO¸¦ »ç¿ëÇØ¼­ ÇØ°áÇϰí ÀÖ½À´Ï´Ù.
http://kr.php.net/manual/en/ref.pdo.php
VBer 06-10-02 10:28
ÁÁÀºÁ¤º¸ °¨»çÇÕ´Ï´Ù. ^^
Çѹߦ»ðÁúÇѹø 07-01-16 21:42
¼ö°íÇϼ̾î¿ä
°Ô½Ã¹° 42°Ç
¹øÈ£ ºÐ·ù Á¦¸ñ ±Û¾´ÀÌ ³¯Â¥ Á¶È¸
42 DBMS PHP5 Oracle DB Ŭ·¡½ºÀÔ´Ï´Ù. [5] ¿õľľ 10-04-08 1851
41 DBMS [ÇÔ¼ö]ƯÁ¤ ¹®ÀÚ°¹¼ö ±¸Çϱâ [7] ÀüÁøÇϴ¾Ƹ£°í 09-05-13 2055
40 ¹®¹ý php 5.3.x ¿¡ Ãß°¡µÈ goto¹®¿¡ °üÇÏ¿© [27] eitetu 09-04-19 1754
39 ¼³Ä¡/¼³Á¤ freeTDS ƯÁ¤¹®ÀÚ ±úÁü ÇØ°á... [11] Æë±Ï¢âÀ̽½¾ð´Ï 09-03-23 1609
38 º¸¾È SQL Injection - gogo2me.net/.go/check.html [4] Qindex 09-01-18 2753
37 ±âŸ °Ô½Ã¹°ÀÌ »è.Á¦. µÇ¾ú½À´Ï´Ù. [30] ¹«¾ð°¡»õ·Î¿î 09-01-05 2437
36 DBMS MySQL ÇÁ·Î½ÃÁ®(PROCEDURE) Ȱ¿ë »ùÇà ¼Ò½º ÄÚµå [3] ÅØ½ºÆ®Å¥ºê 08-12-16 2499
35 DBMS ¿À¶óŬ ÇÁ·Î½ÃÁ® È£Ãâ½Ã ORA-06502 ¿¡·¯ ´ç±Ù28È£ 08-10-30 1832
34 ÇÔ¼ö SQL ÀÎÁ§¼Ç °ø°ÝÀÇ »óó¸¦ Ä¡·áÇÕ´Ï´Ù. [9] »ç¶û±» 08-07-28 5001
33 DBMS ¿À¶óŬ °­Á ¹× ÆÁ »çÀÌÆ® [»çÀÌÆ® ¼Ò°³ÀÔ´Ï´Ù. ´Ü , º»ÀÎÀº ÇØ¡¦ [6] È£ À屿»ê 08-04-25 3003
32 ¼³Ä¡/¼³Á¤ mssql 2005¿Í php ¿¬µ¿ ¹× ÁÖÀÇÁ¡ [12] ÀüÁøÇϴ¾Ƹ£°í 08-04-01 4592
31 Á¤º¸ MIME ŸÀÔ ÃÑÁ¤¸® [6] ±îÄ¥ÇѰí¹Î³² 07-10-18 3820
30 DBMS [Âü°í] MySQL ¿¡¼­ PL/SQL »ç¿ë½Ã ÇѱÛÀÌ ±úÁú¶§ [2] ¾ØÁÒ 07-09-28 4338
29 DBMS Å¥ºê¸®µå ÀÀ¿ëÀÇ ¼º´É ³ôÀ̱â - ±×´©º¸µå4 °³¼± »ç·Ê [6] ¾ß¶ó¹Ù 07-09-04 3490
28 DBMS MYSQL 5 ÀÇ PROCEDURE,FUNCTION Ãʰ£´Ü ¿ä¾à [5] º¥Áö 07-07-10 3389
27 ÇÔ¼ö SQL ÀÎÁ§¼Ç ¾î¶»°Ô ´ëóÇϽóª¿ä? [21] »ç¶û±» 07-06-04 6537
26 DBMS mysql ÀÇ ¿Ü·¡Å°¿¡ ´ëÇÑ °£·«ÇÑ ¼³¸í ¹× Å×½ºÆ® [17] ÀüÁøÇϴ¾Ƹ£°í 07-06-01 3824
25 ¼³Ä¡/¼³Á¤ MySQL 4.0.26 ¹öÀü ´Ù¿î·Îµå ÁÖ¼Ò [5] º½ºû±ò 07-04-16 3129
24 DBMS PostgreSQL: ¿¬»êÀÚ ¸¸µé±â [¼öÁ¤] ±×³× 07-04-07 2260
23 DBMS PostgreSQL: ¹è¿­Ä÷³ÀÇ È°¿ë - ¹è¿­¿ä¼Ò ¼ø¼­ ¹Ù²Ù±â [5] ±×³× 07-04-04 2593
123
ȸ»ç¼Ò°³ »çÀÌÆ®¸Ê ÀÌ¿ë¾à°ü °³ÀÎÁ¤º¸Ãë±Þ¹æÄ§ À̸ÞÀÏ ¹«´Ü¼öÁý °ÅºÎ ÀÎÀçä¿ë Á¦ÈÞ¹®ÀÇ ±¤°í¾È³»
(ÁÖ)ÇÇ¿¡ÀÌÄ¡ÇǽºÄð´åÄÄ »ç¾÷¹øÈ£ 119-86-25309 ÅëÆÇ 2010-¼­¿ï±Ýõ-0082È£ Á÷¾÷Á¤º¸ ¼­¿ï°ü¾Ç Á¦2010-03È£
¼­¿ï½Ã ±Ýõ±¸ °¡»êµ¿ 371-50 ¿¡À̽ºÇÏÀ̾صå3Â÷ 9Ãþ ´ëÇ¥ ÀÓ¼ºÁø °³ÀÎÁ¤º¸º¸È£Á¤Ã¥ ¹× ´ã´ç ÇϹÌÇâ
ÀüÈ­ 02-2627-6637 ÆÑ½º 02-2624-1371 E-mail member@phpschool.com
Copyright PHPSCHOOL.com All rights reserved.