0 フォロワー

クラス yii\db\mssql\PDO

継承yii\db\mssql\PDO » PDO
利用可能なバージョン2.0
ソースコード https://github.com/yiisoft/yii2/blob/master/framework/db/mssql/PDO.php

これは、MSSQLおよびDBLIBドライバーのデフォルトのPDOクラスの拡張です。

これは、MSSQLおよびDBLIBドライバーの不適切に実装された機能に対する回避策を提供します。

パブリックメソッド

継承されたメソッドを非表示

メソッド 説明 定義元
beginTransaction() トランザクションを開始します。MSSQL PDOドライバーはトランザクションをネイティブにサポートしていないため、PDOのメソッドをオーバーライドする必要があります。 yii\db\mssql\PDO
commit() トランザクションをコミットします。MSSQL PDOドライバーはトランザクションをネイティブにサポートしていないため、PDOのメソッドをオーバーライドする必要があります。 yii\db\mssql\PDO
getAttribute() データベース接続属性を取得します。 yii\db\mssql\PDO
lastInsertId() 最後に挿入されたIDの値を返します。 yii\db\mssql\PDO
rollBack() トランザクションをロールバックします。MSSQL PDOドライバーはトランザクションをネイティブにサポートしていないため、PDOのメソッドをオーバーライドする必要があります。 yii\db\mssql\PDO

メソッド詳細

継承されたメソッドを非表示

beginTransaction() パブリックメソッド

トランザクションを開始します。MSSQL PDOドライバーはトランザクションをネイティブにサポートしていないため、PDOのメソッドをオーバーライドする必要があります。

public boolean beginTransaction ( )
戻り値 boolean

トランザクション開始の結果。

                #[\ReturnTypeWillChange]
public function beginTransaction()
{
    $this->exec('BEGIN TRANSACTION');
    return true;
}

            
commit() パブリックメソッド

トランザクションをコミットします。MSSQL PDOドライバーはトランザクションをネイティブにサポートしていないため、PDOのメソッドをオーバーライドする必要があります。

public boolean commit ( )
戻り値 boolean

トランザクションコミットの結果。

                #[\ReturnTypeWillChange]
public function commit()
{
    $this->exec('COMMIT TRANSACTION');
    return true;
}

            
getAttribute() パブリックメソッド

データベース接続属性を取得します。

一部のMSSQL PDOドライバー(例:dblib)は属性の取得をサポートしていないため、PDOのメソッドをオーバーライドする必要があります。

public mixed getAttribute ( $attribute )
$attribute integer

PDO::ATTR_*定数のいずれか。

戻り値 mixed

呼び出しが成功すると、要求されたPDO属性の値が返されます。呼び出しが失敗すると、nullが返されます。

                #[\ReturnTypeWillChange]
public function getAttribute($attribute)
{
    try {
        return parent::getAttribute($attribute);
    } catch (\PDOException $e) {
        switch ($attribute) {
            case self::ATTR_SERVER_VERSION:
                return $this->query("SELECT CAST(SERVERPROPERTY('productversion') AS VARCHAR)")->fetchColumn();
            default:
                throw $e;
        }
    }
}

            
lastInsertId() パブリックメソッド

最後に挿入されたIDの値を返します。

public integer lastInsertId ( $sequence null )
$sequence string|null

シーケンス名。デフォルトはnullです。

戻り値 integer

最後に挿入されたIDの値。

                #[\ReturnTypeWillChange]
public function lastInsertId($sequence = null)
{
    return $this->query('SELECT CAST(COALESCE(SCOPE_IDENTITY(), @@IDENTITY) AS bigint)')->fetchColumn();
}

            
rollBack() パブリックメソッド

トランザクションをロールバックします。MSSQL PDOドライバーはトランザクションをネイティブにサポートしていないため、PDOのメソッドをオーバーライドする必要があります。

public boolean rollBack ( )
戻り値 boolean

トランザクションロールバックの結果。

                #[\ReturnTypeWillChange]
public function rollBack()
{
    $this->exec('ROLLBACK TRANSACTION');
    return true;
}