首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Oracle和Zend插入id

如何使用Oracle和Zend插入id
EN

Stack Overflow用户
提问于 2019-11-07 22:32:53
回答 1查看 41关注 0票数 0

我的问题是,我不知道如何获得刚用sql查询插入的第一列的id。我想把这个id存储在一个php变量中,以便以后使用。我在Oracle中看到,插入后获取数据的方法是returning column into variable,但是我不知道如何在这个东西和php Zend之间进行通信。toto变量始终为空。我使用ZendFramework和Oracle。

我想要做的是:

代码语言:javascript
运行
复制
public function createNewAssemblage($aQData)
{
    $toto = " ";
    // Recuperation du nouveau ID assemblage
    // Preparation de la requete pour l'insertion des données dans la table
    // assemblage
    $sQuery = "INSERT INTO assemblage (
        id_depot_publication, num_assemblage, orig_assemblage)
        VALUES (:0, :1, :2)
        returning ID_ASSEMBLAGE into :3";

    $valReturn = false;
    $mResult = $this
        ->executeQueries($sQuery,
            array($aQData['id_depot_publication'],
                $aQData['num_assemblage'], $aQData['orig_assemblage'],$toto
            ));
    $this->_logger->err("--------------------------------");
    $this->_logger->err("ID_ASSEMBLAGE");
    $this->_logger->err($toto);
    $this->_logger->err("--------------------------------");
    // Mise en session de l'identifiant session
    if ($mResult) {
        $this->commit();
        $sQuery = 'SELECT ASSEMBLAGE_ID_ASSEMBLAGE_SEQ.currval FROM dual';
        $this->executeQueries($sQuery);
        $aResultSet = $this->getOneResult();
        $_SESSION['saveIdAssemblage'] = $aResultSet;
        self::$staticIdAssemblage = $aResultSet;
        $valReturn = $aResultSet;
    }

    return $valReturn;
}

结果是:

代码语言:javascript
运行
复制
2019-11-07T15:23:25+01:00 ERR (3): --------------------------------
2019-11-07T15:23:25+01:00 ERR (3): ID_ASSEMBLAGE
2019-11-07T15:23:25+01:00 ERR (3):  
2019-11-07T15:23:25+01:00 ERR (3): --------------------------------
EN

回答 1

Stack Overflow用户

发布于 2019-11-07 23:11:19

在提交新记录时,您可以立即查询以查找最大ID,假设ID是自动递增的。您可以将其编写为一个存储过程,该存储过程插入和提取新的ID作为返回值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58750976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档