52 lines
1.6 KiB
PHP
52 lines
1.6 KiB
PHP
<?php
|
|
/**
|
|
* @noinspection SqlNoDataSourceInspection
|
|
*/
|
|
|
|
namespace goodboyalex\php_db_components_pack\classes\tm_drivers;
|
|
|
|
use goodboyalex\php_db_components_pack\classes\DataBaseHeader;
|
|
use goodboyalex\php_db_components_pack\interfaces\ITableManager;
|
|
use PDO;
|
|
|
|
/**
|
|
* Система менеджмента таблицами базы данных MS SQL.
|
|
*
|
|
* @author Александр Бабаев
|
|
* @package php_db_components_pack
|
|
* @version 1.0
|
|
* @since 1.0
|
|
*/
|
|
final class MSSQLTableManager implements ITableManager
|
|
{
|
|
/**
|
|
* @inheritDoc
|
|
*/
|
|
public function IsTableExist (PDO $handle, string $tableName): bool
|
|
{
|
|
// Создаю SQL-запрос
|
|
$sql = "SELECT CASE WHEN OBJECT_ID(:tableName, 'U') IS NOT NULL THEN 1 ELSE 0 END";
|
|
|
|
// Подготавливаю данные
|
|
$stmt = $handle->prepare($sql);
|
|
|
|
// Выполняю запрос
|
|
$stmt->execute(['tableName' => $tableName]);
|
|
|
|
// Получаю количество таблиц и вывожу true или false
|
|
return $stmt->fetchColumn() === '1';
|
|
}
|
|
|
|
public function CreateTable (PDO $handle, string $tableName, DataBaseHeader $columns): bool
|
|
{
|
|
// TODO: Implement CreateTable() method.
|
|
|
|
return false;
|
|
}
|
|
|
|
public function DropTable (PDO $handle, string $tableName): bool
|
|
{
|
|
// TODO: Implement DropTable() method.
|
|
return false;
|
|
}
|
|
} |