【发布时间】:2019-11-30 10:16:53
【问题描述】:
我有一个 PHP 循环,其中包含两个 sql 查询。一个是 INSERT INTO a temp_Table。另一个是 SELECT * FROM temp_Table。 SELECT 语句执行了多次,我的结果不正确,因为有重复。有没有办法在所有 INSERT INTO 语句都执行完之后只执行一次 SELECT 语句?
while(odbc_fetch_row($gotdaysreports)){
$insertQuery = "insert into temp_Table (
REPORTNR,
ACCOUNTNO,
ACCOUNTNAME,
USERNAME,
TOTALVALUE,
TOTALTAX,
DISCOUNT,
DISCTAX,
DISCOUNT )select * from SUPPLIER_PURCHASES( $company_id,$branchindex,$regionindex,$dayendid ,$accountnumber)";
$selectQuery = "select * from temp_Table";
}
$gotinsertQuery = odbc_exec($connect, $insertQuery);
$gotselectQuery = odbc_exec($connect, $selectQuery);
选择语句应该在 INSERTS 完成后运行一次。目前,它为每个插入执行。
【问题讨论】:
-
所以把它从循环中去掉,不是吗?
-
...另外,上面的代码只会插入一个(循环中的最后一个),因为您在每次迭代时都覆盖了
$insertQuery-变量。它也只会进行一次选择。您目前实际上并没有做任何事情,只是在循环中一遍又一遍地定义相同的变量。 -
@PatrickQ 插入依赖于 while 循环。存储过程中的两个参数在循环中被赋值
-
正确,但将选择从循环中取出。
标签: php sql select sql-insert temp-tables