📌  相关文章
📜  如果表存在 drop - TypeScript (1)

📅  最后修改于: 2023-12-03 14:53:23.930000             🧑  作者: Mango

如果表存在 drop

在 TypeScript 中,可以使用 SQL 语言与数据库交互。当需要删除表时,可以使用 DROP TABLE IF EXISTS 语句来判断该表是否存在,如果存在则删除。

示例代码
import * as sql from "mssql";

const config = {
  user: "<username>",
  password: "<password>",
  server: "<server>",
  database: "<database>",
};

(async () => {
  try {
    const pool = await sql.connect(config);
    const tableExists = await pool.request().query(`
      SELECT COUNT(*) as count
      FROM information_schema.tables
      WHERE table_name = '<table_name>'
    `);
    if (tableExists.recordset[0].count > 0) {
      await pool.request().query(`
        IF OBJECT_ID('<table_name>', 'U') IS NOT NULL
        DROP TABLE <table_name>
      `);
      console.log(`Table <table_name> dropped.`);
    } else {
      console.log(`Table <table_name> does not exist.`);
    }
  } catch (error) {
    console.error(error);
  } finally {
    sql.close();
  }
})();
代码说明
  1. 首先需要引入 mssql 模块;
  2. 然后配置数据库的连接信息;
  3. async 函数中执行删除操作;
  4. 使用 pool.request().query() 发送 SQL 语句;
  5. 判断该表是否存在,如果存在则执行删除操作,否则提示表不存在;
  6. 在程序结束时关闭数据库连接。
返回结果

如果表存在并且删除成功,则会打印出 Table <table_name> dropped.;如果表不存在,则会打印出 Table <table_name> does not exist.

以上就是在 TypeScript 中使用 IF OBJECT_ID() IS NOT NULL 判断表是否存在并执行删除操作的示例。