作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Azure SQL 数据库 (T-SQL),但在“CREATE TABLE IF NOT EXISTS”查询时遇到问题。我已经阅读了这里的链接,可能还有其他一些链接:
我的代码:
declare @tableName nvarchar(max);
declare @sqlquery nvarchar(max);
SET @tableName = 'Russ';
SET @sqlquery = 'if not exists (select * from sysobjects where name=' + @tableName + 'and xtype=''U'') create table ' + @tableName + '([ID] [bigint] PRIMARY KEY NOT NULL DEFAULT (NEXT VALUE FOR dbo.standardsequence), [Name One] [nvarchar](64) NOT NULL, [Name Two] [nvarchar](64) NOT NULL)';
exec sp_executesql @sqlquery;
我做错了什么?我很困惑。如果有一个难住的局,他们会宣布我正式难住了。
最佳答案
表名
未正确终止,额外的引号将修复它。
但是,在 sql
中使用条件语句时添加 begin
和 end
是一个好习惯
declare @tableName nvarchar(max);
declare @sqlquery nvarchar(max);
SET @tableName = 'Russ';
SET @sqlquery = 'if not exists (select * from sysobjects where name=''' + @tableName + ''' and xtype=''U'')
begin
create table ' + @tableName + '([ID] [bigint] PRIMARY KEY NOT NULL DEFAULT (NEXT VALUE FOR dbo.standardsequence), [Name One] [nvarchar](64) NOT NULL, [Name Two] [nvarchar](64) NOT NULL)
end';
exec sp_executesql @sqlquery;
关于sql - 变量在 IF NOT EXISTS .. CREATE TABLE 查询中不起作用,我不知道为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58515494/
我是一名优秀的程序员,十分优秀!