gpt4 book ai didi

SQL - 在一个脚本中创建数据库和表

转载 作者:太空狗 更新时间:2023-10-30 01:42:37 28 4
gpt4 key购买 nike

抱歉,如果已经问过,但我找不到任何关于此的内容。

我正在将一些东西从 MySQL 转移到 SQL Server 我想要一个 .sql 文件创建一个数据库和数据库中的表。在解决了语法问题之后,我已经让文件可以工作了(几乎)。

如果我跑

IF db_id('dbname') IS NULL 
CREATE DATABASE dbname

它工作正常,如果我运行

CREATE TABLE dbname.dbo.TABLE1 (
);
...
CREATE TABLE dbname.dbo.TABLEN (
);

它也很好用。但是,如果我在同一个文件中运行它们,则会出现此错误

Database 'dbname' does not exist

现在,CREATE TABLE 语句不在我想要的 IF 语句中,但我似乎也找不到它的语法。 ({ } 不起作用?)

所以我的大问题是,如何确保 .sql 文件中的特定命令先于 SQL Server 中的其他命令完成?

我的第二个问题是,如何在 IF 子句中包含多个指令?

需要说明的是,我一直在 sqlcmd 中运行它。

最佳答案

在查询之间放置一个 GO 命令。

IF db_id('dbname') IS NULL 
CREATE DATABASE dbname

GO

CREATE TABLE dbname.dbo.TABLE1 (
);

CREATE TABLE dbname.dbo.TABLEN (
);

至于将表格语句放在IF中,你不能因为GO命令。之后您可以创建额外的 IF 语句,以检查每个表是否预先存在。

block if 的语法是:

IF condition
BEGIN
....
....
END

关于SQL - 在一个脚本中创建数据库和表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3373268/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com