php-sqlsrv/test/functional/pdo_sqlsrv/PDO82_ComplexInsert.phpt
2017-06-23 13:09:37 -07:00

83 lines
1.6 KiB
PHP

--TEST--
Complex Insert Query Test
--DESCRIPTION--
Test the driver behavior with a complex insert query.
--ENV--
PHPT_EXEC=true
--SKIPIF--
<?php require('skipif.inc'); ?>
--FILE--
<?php
include 'MsCommon.inc';
function ComplexInsert($count)
{
include 'MsSetup.inc';
$testName = "PDO - Complex Insert Query";
StartTest($testName);
Setup();
$conn1 = Connect();
DropTable($conn1, $tableName);
// $data = "a1='1234567890',a2='0987654321',a3='1234567890',a4='0987654321',a5='1234567890',a6='0987654321'";
$data = "a1='1', a2='2', a3='3', a4='4', a5='5', a6='6'";
$querySelect = "SELECT COUNT(*) FROM [$tableName]";
$queryInsert =
" SELECT $data INTO [$tableName]
DECLARE @i int
SET @i=1
WHILE (@i < $count)
BEGIN
INSERT [$tableName]
SELECT $data
SET @i = @i + 1
END
";
$stmt1 = ExecuteQuery($conn1, $queryInsert);
$stmt1->closeCursor();
$stmt1 = null;
$stmt2 = ExecuteQuery($conn1, $querySelect);
$row = $stmt2->fetch(PDO::FETCH_NUM);
printf("$count rows attempted; actual rows created = ".$row[0]."\n");
$stmt2 = null;
$conn1 = null;
EndTest($testName);
}
//--------------------------------------------------------------------
// Repro
//
//--------------------------------------------------------------------
function Repro()
{
try
{
ComplexInsert(1000);
}
catch (Exception $e)
{
echo $e->getMessage();
}
}
Repro();
?>
--EXPECT--
1000 rows attempted; actual rows created = 1000
Test "PDO - Complex Insert Query" completed successfully.