PostgreSQL �ł� 9.2 ���� �C���f�b�N�X�E�I�����[�E�X�L�������g����悤�ɂȂ��Ă��܂��B
���̋@�\�� �f�[�^���擾����ۂɁA�C���f�b�N�X�����Ŏ������ꍇ�� �C���f�b�N�X�݂̂��g�p����Ƃ������̂ł��B Oracle �ł͐̂��炠��܂����� PostgreSQL �ł� 9.2 �����������܂����B
�ʏ�́A�����ɃC���f�b�N�X���g�p���Ă��A�e�[�u������f�[�^���擾���邽�߂� �ʂ̗̈�i�q�[�v�j��ǂ݂ɍs���킯�ł����A���ꂪ�s�v�ɂȂ邽�߃p�t�H�[�}���X�̌���� ���Ȃ���҂ł��镔��������܂��B
�����APostgreSQL�͒NjL�^�̃f�[�^�x�[�X�Ȃ̂� �C���f�b�N�X�����ł� �Â��f�[�^���ǂ������f�ł��Ȃ����߁A�C���f�b�N�X�E�I�����[�E�X�L�����̎����� ����Ƃ���Ă��܂����B ����� 8.4 �Ńo�L���[���̂��߁H�ɒlj����ꂽ �r�W�r���e�B�}�b�v �Ƃ����f�[�^���g���āu�C���f�b�N�X�����ő��v���v�f���Ă��邻���ł��B
�Ȃ̂ŁA�C���f�b�N�X�E�I�����[�E�X�L�����Ƃ����Ă��A�ꍇ�ɂ���Ă̓e�[�u���̃f�[�^��ǂ݂ɍs���K�v������܂��B �X�V�������e�[�u���ł͓����������܂���B
�O�Ōo�����ł����肪�����ł����A�r�W�r���e�B�}�b�v���Y��ɁH�Ȃ�悤�Ƀo�L���[�����d�v�ł��B
���s�v�������Ǝ��̂悤�ɂȂ�܂��B
�i field1 ���e�[�u���̎�L�[�j
psql=# EXPLAIN psql-# SELECT field1 FROM table1 psql-# WHERE field1 > 300000 Index Only Scan using table1_pkey on table1 (cost=0.43.. Index Cond: (field1 > 300000)
Index Only Scan �Əo�͂���܂��B
FOR �R�}���h�͏������J��Ԃ����Ƃ��ł��܂��B
���̃T���v���́Aaaaa.txt �̓��e���s���Ƃ� �_�u���N�H�[�e�[�V�����ň͂�ŏo�͂��Ă��܂��B
C:\> FOR /F %I IN (aaaa.txt) DO @ECHO "%I" >> bbbb.txt
����͎��̂悤�ɏ������Ƃ��ł��܂��B
C:\> (FOR /F %I IN (aaaa.txt) DO @ECHO "%I") > bbbb.txt
�������邱�ƂŁA�t�@�C������ɂ��鏈�����s�v�ɂȂ����� �����̑��x���オ�����肵�܂��B
�ŋ߂� PostgreSQL �̋@�\���[�����Ă��܂����� Oracle �ɂ͂܂��܂��Ǝ��̋@�\���c���Ă��܂��B
����́A�O�������}���`�e�[�u���E�C���T�[�g�ɂ��āB
���̂悤�� INSERT�����܂Ƃ߂邱�Ƃ��ł��܂��B
SQL> INSERT ALL 2 INTO table1 (field1, field2) VALUES ('xxxxx1', 'xxxxxxxxx') 3 INTO table1 (field1, field2) VALUES ('xxxxx2', 'xxxxxxxxx') 4 INTO table1 (field1, field2) VALUES ('xxxxx3', 'xxxxxxxxx') 5 SELECT * FROM DUAL;
�܂Ƃ߂邾���łȂ������̃e�[�u���� INSERT �ł��܂��B
SQL> INSERT ALL 2 INTO table1 (field1, field2) VALUES ('xxxxx1', 'xxxxxxxxx') 3 INTO table2 (field1, field2) VALUES ('xxxxx2', 'xxxxxxxxx') 4 INTO table3 (field1, field2) VALUES ('xxxxx3', 'xxxxxxxxx') 5 SELECT * FROM DUAL;
������ DUAL �ɋC�Â����ł��傤���H
5 SELECT * FROM DUAL;
�����ɂ̓e�[�u���╟�₢���킹���w�肷�邱�Ƃ��ł��܂��B
�܂� ���̂悤�Ȃ��Ƃ��ł��Ă��܂��킯�ł��B
SQL> INSERT ALL 2 INTO table1 (field1, field2) VALUES (fieldA, fieldB) 3 INTO table2 (field1, field2) VALUES (fieldA, fieldC) 4 INTO table3 (field1, field2) VALUES (fieldA, fieldD) 5 SELECT * FROM table4;
����ɏ������w�肷�邱�Ƃ��ł��܂��B
SQL> INSERT ALL 2 WHEN fieldB < 10 THEN 3 INTO table1 (field1, field2) VALUES (fieldA, fieldB) 4 WHEN fieldC < 10 THEN 5 INTO table2 (field1, field2) VALUES (fieldA, fieldC) 6 WHEN fieldD < 10 THEN 7 INTO table3 (field1, field2) VALUES (fieldA, fieldD) 8 SELECT * FROM table4;
����ς� Oracle �͋��낵���ł��ˁB
PostgreSQL �� MySQL �ł͎��̂悤�� INSERT ���� �����s���w�肷�邱�Ƃ��ł��܂��B
psql=# INSERT INTO table1 (field1, field2) psql-# VALUES ('xxxxx1', 'xxxxxxxxx') psql-# , ('xxxxx2', 'xxxxxxxxx') psql-# , ('xxxxx3', 'xxxxxxxxx');
Oracle �ł͂��̏��������ł��܂���B
�ȉ��̂悤�ɏ����܂��B
SQL> INSERT ALL 2 INTO table1 (field1, field2) VALUES ('xxxxx1', 'xxxxxxxxx') 3 INTO table1 (field1, field2) VALUES ('xxxxx2', 'xxxxxxxxx') 4 INTO table1 (field1, field2) VALUES ('xxxxx3', 'xxxxxxxxx') 5 SELECT * FROM DUAL;
�P�� INSERT�����܂Ƃ߂������̂悤�ł��� ���̏������́A�قȂ�e�[�u���ł��܂Ƃ߂邱�Ƃ��ł��܂��B �}���`�e�[�u���E�C���T�[�g �ƌ����̂ł��� �P�� INSERT ���܂Ƃ߂邾���ł͂���܂���B
�ڂ����͎���B
�R�}���h�v�����v�g�� DIR �R�}���h�� �t�@�C���������o�͂���Ƃ��� �u/A�v�I�v�V�����Łu�f�B���N�g���ȊO�v���w�肵�܂��B
C:\> DIR /A:-D
�C�O�̊當���݂����ɂȂ��Ă܂��� �uD�v���f�B���N�g���ŁA�u-�v���Z�Z�ȊO�ɂȂ�܂��B
�R�����͏ȗ����邱�Ƃ��ł��܂��B
C:\> DIR /A-D
�u/B�v�I�v�V������t���ăt�@�C���������A �Ȃ�Ă��Ƃ��ł��܂��B
C:\> DIR /A:-D /B