NAME
TL::DB - DBI (ja)
NAME (ja)
TL::DB::JA - DBI��勉�í�����
SYNOPSIS
$TL->startCgi(
-DB => 'DB',
-main => \&main,
);
sub main {
my $DB = $TL->getDB('DB');
$DB->setDefaultSet('R_Trans');
$DB->begin;
my $sth = $DB->execute(q{SELECT a, b FROM foo WHERE a = ?}, 999);
while (my $hash = $sth->fetchHash) {
print $hash->{a};
}
$DB->commit;
$DB->begin('W_Trans');
$DB->execute(q{UPDATE counter SET counter = counter + 1 WHERE id = ?}, 1);
$DB->commit;
}
DESCRIPTION
- �・膓�/�����㏍�虁�ɱ����ц��������������
-
��������ф・膓�/�����㏍�������翫����壔��connect/disconnect���篏帥�����
- 絎�茵���壔����ŝ�勐�☎����������糸��茵�荐���祉�紫��������荐���蚊����������������違�≪�若�����
- prepare/execute�����������ŝ�����fetch��壠�����������
- ��≦宍�����㋘�若�鴻����˨��罘���
-
$db->execute(q{select * from a where mode in (??)}, ['a', 'b'])
��◑��菴違�����������
$db->execute(q{select * from a where mode in (?, ?)}, 'a', 'b')
��勉�������̬В���������������
- �����㋘�若�鴻����˨����勐�ゆ検�����勰�����������絎�����櫝�
-
$db->execute(q{select * from a limit ??}, ['a', \'SQL_INTEGER'])
- ��ŝ�壔����鴻����☎��絎�篋�緇���勉����í�潟�吟�壔�激�с�恰�ɱ��篋����unlock��ɱ��篋������ɱ��罎���
- DB��違�˨�若�����DB��祉��������DB��潟����壔�激�с�
-
TL::DB��с�壔����㋘����ŝ�宴�若�激�с�潟����ñ�������⓾�㏍�若�������í�潟�鴻����������������壩叵�������������� 鐚���ゃ��DB��違�˨�若����勌賢��˨��茲���違��DB��祉��������絎�臂í���������������櫝�純����ŝ�c�⓾�������� DB��祉�������勌賢��˨�壔��茲���違��DB��潟����壔�激�с�潟��絎�臂í�с��������
��贋�亥��DB��祉�������������х��DB��祉����������ŝ�í�勐就��у��臂í����⓾�������������㏍�違�í��筝㏍� �����í�潟�吟�壔�激�с�喝��篏���с�í��DB��祉��������篏睡��������������絎���������������с�� ��贋�亥����壔����ŝ�壔����鴻��DB��������х����壔����ŝ�壔�鴻�㋘�若��DB�����������c�� 篏帥���������������������������櫝�純����ŝ�����
DB��祉�������˨�虁����違��DB��潟����壔�激�с�潟��絎�臂í�с�����茲���医��臂í�������翫���� �����㏍�祉�劫��篏���с����㏍�祉��ID���������1��ゃ�勉�潟����壔�激�с�潟����御�������������� 鐚������㏍�祉��ID���絎�臂ð�違�у�蚊����������勌��������篏睡�������〠浦絎����������鐚�
������DB��違�˨�若����勌賢��勤����違��DB��祉�������у�����DB��潟����壔�激�с�喝�����篏睡�������������翫����壔�� 絎�������DB����・膓������������潟����壔�激�с�恰�違��1��ゃ����ŝ����� �����勉��������膰勰�����荵∽����������х��DB��祉��������DB��潟����壔�激�с�潟����贋�亥���� �����勉��綏勉����帥�����������篋����絨���ャ����喝�������☗��������DB��祉������������� ��������⓾���������������櫝�純����ŝ�c�⓾��������
DB��祉�������勐��腱違��SET_XXXX(XXXX��壚算�����勖��絖����)��с�ŝ�������違�ŝ����ŝ����� DB��潟����壔�激�с�潟�勐��腱違��CNT_XXXX(XXXX��壚算�����勖��絖����)��с�ŝ�������違�ŝ����ŝ�����
��≦宍�����㋘�若�鴻����˨��荅括完
"execute" ���羝<��������SQL�����˨�壔�����絽吾�勉����㋘�若�鴻����˨����勌����˨�� ��≦宍�����㋘�若�鴻����˨�� "??" ���������莨若��篋������堺�ャ����� ��≦宍�����㋘�若�鴻����˨����勛舟�����������贋����˨�壔�������í�<�若�帥�������☁��絽吾�勉�鴻�˨�í�弱�ゃ�с�ŝ����� ��������吾�勉�ŝ����<�㋘�潟�鴻��筝������ŝ�������違�ŝ����ŝ��������������茲���違�勐�ゃ�������c�⓾�������翫����˨�壔�� ���������������絽吾�勉����㋘�若�鴻����˨�������˨�潟����х�������������勉��絮����������������
箴�: 篁ヤ����勌�������夌��箴
$DB->execute(
q{SELECT * FROM a WHERE a IN (??) AND b = ?},
['AAA', 'BBB', 'CCC'], 800);
$DB->execute(
q{SELECT * FROM a WHERE a IN (?, ?, ?) AND b = ?},
'AAA', 'BBB', 'CCC', 800);
�����í�<�若�帥�������⓾�勰�������勖��緇���勰����勉�����絖������吾�勉�ŝ����<�㋘�潟�鴻�с����������������勖��絖������ SQL��������������〠�宴��������������������茲���違�勐�ゃ�������ゆ����˨�壔�������勐����⓾�勤��膣����絲障���� ������絎������ñ�����������������������DBI.pm��у��臂í�����������
箴�:
$DB->execute(q{SELECT * FROM a LIMIT ??}, [20, \'SQL_INTEGER']);
==> SELECT * FROM a LIMIT 20
$DB->execute(q{SELECT * FROM a LIMIT ??}, [20, 5, \'SQL_INTEGER']);
==> SELECT * FROM a LIMIT 20, 5
�����������勤��膣������眼��2荀�膣���勰��������������篋���ɾ�勉�勤��膣�������絖������吾�勉�ŝ����<�㋘�潟�鴻� ������篋���с��荀�膣���勐����������ャ�����絎���堺�ャ�����
箴�:
$DB->execute(
q{SELECT * FROM a WHERE a IN (??) AND b = ?},
[[100, \'SQL_INTEGER'], 'foo', \'SQL_VARCHAR'], 800);
==> SELECT * FROM a WHERE a IN (100, 'foo') AND b = '800'
METHODS
TL::DB
��<�純�����
$TL->getDB
-
$DB = $TL->getDB $DB = $TL->getDB($inigroup)
TL::DB ��ŝ����吾�с�壔��������緇���� 綣���違�˨��Ini��ц┃絎���������違�˨�若��������羝<����� 綣���亥����ユ����� 'DB' ��違�˨�若�����篏睡��������������
$TL->startCgi / $TL->errorTrap ��勰�∽�医�����DB��ŝ����吾�с�壔��������緇���������翫����˩戎������������
$TL->newDB
-
$DB = $TL->newDB $DB = $TL->newDB($inigroup)
��違����� TL::DB ��ŝ����吾�с�壔��篏������� 綣���違�˨��Ini��ц┃絎���������違�˨�若��������羝<����� 綣���亥����ユ����� 'DB' ��違�˨�若�����篏睡��������������
��������˨�潟����壔�激�с�潟��篏���������������翫����ŝ�í�˩戎������������ �����勖�号����� TL::DB ��ŝ����吾�с�壔��������緇���������翫�����"connect" / "disconnect" �����若�喝�冴������・膓���勐�九勝���茵����綽�荀�������������
connect
-
DB����・膓����������
$TL->startCgi / $TL->errorTrap ��勰�∽�医�����DB��ŝ����吾�с�壔��������緇���������翫����˨�虁�ɱ���������・膓����膊∞�������������������������勉�<�純����������若�喝�冴����⓾�壔�ŝ����ŝ�����
$TL->newDB ��т����������� TL::DB ��ŝ����吾�с�壔����̹�≪����⓾�壔�������勉�<�純����������若�喝�冴�����DB��御・膓�������綽�荀�������������
disconnect
-
DB�����������㏍��������
$TL->startCgi / $TL->errorTrap ��勰�∽�医�����DB��ŝ����吾�с�壔��������緇���������翫����˨�虁�ɱ���������・膓����膊∞�������������������������勉�<�純����������若�喝�冴����⓾�壔�ŝ����ŝ�����
$TL->newDB ��т����������� TL::DB ��ŝ����吾�с�壔����̹�≪����⓾�壔�������勉�<�純����������若�喝�冴�����DB��吾�勖・膓���������㏍�����綽�荀�������������
begin
-
$DB->begin $DB->begin('SET_W_Trans')
���絎����������DB��祉����������с����í�潟�吟�壔�激�с�潟�����紮���������������í�潟�吟�壔�激�с�喝�� (DB��祉��������) ���ini��у��臂í�������⓾����ŝ�������違�ŝ����ŝ����� ��������������ャ�������翫����壔����������í�˨�����DB��祉��������篏帥�������������� setDefaultSet��˨����c�⓾�������í�˨�������吾�違����⓾����ŝ����翫����˨�壔����í�若����ŝ�����
CGI��勌賢��с����í�潟�吟�壔�激�с�潟�����紮�������腟�篋����������Main��∽�違�������������翫����壔����ɱ������� rollback������������
�����í�潟�吟�壔�激�с�喝��茵�筝㏍�˨����勉�<�純����������若�������翫����˨�壔�������í�若����ŝ����� 1綺⓾�̹��紮���堺�ャ�������í�潟�吟�壔�激�с�潟�壔��1��ゃ��DB��違�˨�若����˨�ゃ��1��ゃ����������ŝ�����
rollback
-
$DB->rollback
�憜��絎�茵�筝㏍�勉����í�潟�吟�壔�激�с�潟��������羔�������
commit
-
$DB->commit
�憜��絎�茵�筝㏍�勉����í�潟�吟�壔�激�с�潟��腆阪�����������
setDefaultSet
-
$DB->setDefaultSet('SET_W_Trans')
��������í�˨�����DB��祉����������御�������������������ц┃絎����������DB��祉�������壔��綣���亥�<�����begin() ������begin��������̬����c��execute��勰����˩戎�����������������勉�<�純������� Main��∽�� ��勐����㏍�у�若�違�����篋������喝�������⓾��������
execute
-
$DB->execute($sql, $param...) $DB->execute(\'SET_W_Trans' => $sql, $param...)
SELECT/UPDATE/DELETE��ŝ�í��SQL������絎�茵���������� 膃�1綣���違��SQL���膃�2綣���遺札�����˨����㋘�若�鴻����˨����勐����違��羝<����� ������������膃�1綣���違�˨�ŝ����<�㋘�潟�鴻��DB��祉��������羝<����������˨�������� �����í�潟�吟�壔�激�с�喝����с�勐��茵�������DB��祉�����������絎�����������������櫝�純��
膃�2綣���遺札�����勐����違�с�壔����≦宍�����㋘�若�鴻����˨�����篏睡����с�������� "��≦宍�����㋘�若�鴻����˨��荅括完" ��������с��
��≪�˨����í�潟�吟�壔�激�с�潟��絎�茵���������⓾�������違�������勉����í�潟�吟�壔�激�с�潟� DB��祉��������SQL���絎�茵�������������
�����í�潟�吟�壔�激�с�潟�����紮���������⓾����������������� "lock" ��˨����� �����若����˨����㏍����壔�������⓾�������違����㏍����壔����������⓾�����DB��祉��������SQL���絎�茵�������������
�����������勐�翫����с����ŝ����翫����壔��"setDefaultSet" ��ф��絎���������� �����í�潟�吟�壔�激�с�潟��篏睡�������������� "setDefaultSet" ��˨�����荐㊤�������������⓾����ŝ����翫����壔�������í�若����ŝ�����
�����勉�<�純��������篏睡�������⓾��LOCK/UNLOCK/BEGIN/COMMIT��������c��SQL������ 絎�茵������⓾�壔�ŝ����ŝ�����絎�茵���������������������翫����壔����í�若�˨�ŝ����� 篁c��������絨������勉�<�純��������篏睡��������篋����
selectAllHash
-
$DB->selectAllHash($sql, $param...) $DB->selectAllHash(\'SET_W_Trans' => $sql, $param...)
SELECT腟���������������激�ャ�勰�������吾�勉�ŝ����<�㋘�潟�鴻�ц��������
my $arrayofhash = $DB->selectAllHash($sql, $param...); foreach my $key (@$arrayofhash){ $TL->log(DBDATA => $arrayofhash->{$key}); }
selectAllArray
-
$DB->selectAllArray($sql, $param...) $DB->selectAllArray(\'SET_W_Trans' => $sql, $param...)
SELECT腟���������������勰�������吾�勉�ŝ����<�㋘�潟�鴻�ц��������
my $arrayofarray = $DB->selectAllArray($sql, $param...); foreach my $array (@$arrayofarray){ $TL->log(DBDATA => $array->[0]); }
lock
-
$DB->lock(set => 'SET_W_Trans', read => ['A', 'B'], write => 'C')
���絎����������DB��祉��������絲障�����LOCK TABLES���絎�茵����������set��������ャ����������翫����壔�������í�˨�� ���DB��祉����������吾�違��������CGI��勌賢��с�㏍����壔�������翫����壔�� Main��∽�� �����������������鴻�ц�ɱ��������unlock������������
��㏍����壠��茵�筝㏍�˨����勉�<�純����������若�������翫����˨�壔�������í�若����ŝ����� 1綺⓾�̹��紮���堺�ャ����㏍����壔�壔��1��ゃ��DB��違�˨�若����˨�ゃ��1��ゃ����������ŝ�����
unlock
-
$DB->unlock
UNLOCK TABLES ���絎�茵���������� ��㏍����壔����������c�⓾����ŝ����翫����壔����í�若����ŝ�����
setBufferSize
-
$DB->setBufferSize($kbytes)
�����������<�泣�ゃ�冴��KB���篏���с�祉��������������茵����鐚�茵�茯㏍�粋昭������腟���� �����勉�泣�ゃ�冴��筝���������翫�����
die
���������0
��障�����undef
�����祉�������������������狗�����茹i�ゃ����������� symquote
-
$DB->symquote($sym)
���絖�������茘���ュ����������⓾�壔�í�若�����������
mysql��勐�翫�����
`a b c`
�����ŝ�����������篁ュ����勐�翫�����"a b c"
�����ŝ����� - getType
-
$DB->getType;
DB��勉�帥�ゃ�����菴�������
(mysql, pgsql, ...)
- getDbh
-
$dbh = $DB->getDbh $dbh = $DB->getDbh('SET_W_Trans')
DB��祉�����������DB�����潟����˨��菴������� 菴������������ŝ����吾�с�壔����� DBI �����ゃ����c�����dbh��с��������
�����ゃ����c�����DB�����潟����˨��篏睡�������⓾�壔����ŝ����肴����������翫����������������井����緒�������㏍����<�ゃ�ŝ�潟�亥��鐚���勖����純�壚戎�����с����障�������� ��障����������í�潟�吟�壔�激�с�潟����㏍����夌�倶����勛�∞����������㋘�若����壔�若�壔�ц�������ŝ����ŝ�����������羈���������☖戎���������綽�荀������������障�����
TL::DB::STH
��<�純�����
fetchHash
-
$sth->fetchHash
��������激�ャ�吾�勉�ŝ����<�㋘�潟�鴻�э��茵���������冴�����
fetchArray
-
$sth->fetchArray
��������吾�勉�ŝ����<�㋘�潟�鴻�э��茵���������冴�����
rows
-
$sth->rows
DBI������罕����
finish
-
$sth->finish
DBI������罕����
nameArray
-
$sth->nameArray
$sth->{NAME_lc}
���菴������� nameHash
-
$sth->nameHash
$sth->{NAME_lc_hash}
���菴�������
Ini �����í�<�若�
DB��祉��������DB��潟����壔�激�с�
DB��違�˨�若����勉����í�<�若�帥�勉����<�����茹�絨����絖���掩�医����勉�帥�ф�������������� �����í�<�若�帥�壚��膣�羝���帥�с��DB��違�˨�若����勐��篏�荐㊤����˩戎������������ DB��祉�������壔��篋�膣�羝���帥�с�壔�ŝ����������с�������遺算�����勐��腱違��篏睡����с����� ��ゃ��������DB��潟����壔�激�с�潟��INI��違�˨�若����������˨�潟����阪�������ф��絎����������
箴�:
[DB]
namequery=1
type=mysql
defaultset=SET_R_Trans
SET_W_Trans=CNT_DBW1
SET_R_Trans=CNT_DBR1,CNT_DBR2
[CNT_DBW1]
dbname=test
user=daemon
host=192.168.0.100
[CNT_DBR1]
dbname=test
user=daemon
host=192.168.0.110
[CNT_DBR2]
dbname=test
user=daemon
host=192.168.0.111
篁ヤ����夌�劫�ャ�ŝ����í�<�若��:
namequery
-
namequery = 1
���������1��˨�����������絎�茵���������������������壔����ŝ�勉�潟����潟�������勛�翫����
/* foo.pl:111 [DB.R_Transaction1.DBR1] */
��勉�������ŝ�潟�<�潟�������水�ャ�������� ��������í�˨�����0��� type
-
type = mysql
DB��勛┏蕁������御����������� mysql, pgsql, oracle���篏睡���櫝�純�� 綽���������勉��
defaultset
-
defaultset = SET_W_Trans
��������í�˨�����DB��祉��������荐㊤����������� ��������ц┃絎����������DB��祉�������壔��綣���亥�<�����begin()������begin��������̬����c��execute��勰����˩戎������������
DB絎�臂
dbname
-
dbname = test
DB������荐㊤�����������
host
-
host = localhost
DB��勉�≪����㋘�鴻��荐㊤����������� ��������í�˨�����localhost���
user
-
user = www
DB����・膓������������勉�⓾�若�吟�弱�����荐㊤�����������
password
-
password = PASS
DB����・膓������������勉����鴻�壔�若�����荐㊤����������� �����ュ櫝�純��
SEE ALSO
AUTHOR INFORMATION
Copyright 2006 YMIRLINK Inc. All Rights Reserved.
This framework is free software; you can redistribute it and/or modify it under the same terms as Perl itself
�����勉����㋘�若����壔�若�壔�壔����ŝ�若�純�������⓾�с�≪�с����������ŝ����� Perl �����������í�ゃ�祉�潟�鴻�� �����у�����絽������喝����眼��茵���������������堺�ャ�障�����
Address bug reports and comments to: tl@tripletail.jp
HP : http://tripletail.jp/