有关SQL Server 2008查询和截断语法的分隔符字符的问题.

Kiz*_*aru 2 sql sql-server-2008

我是SQL的新手,所以如果这是一个愚蠢的问题我会道歉.

我什么时候需要在模式和表名称周围使用括号'['和']'?我可以一直使用它们吗?

现在,假设我执行了以下操作来创建表

CREATE TABLE [dbo].[table1] ([ID] VARCHAR(5))
Run Code Online (Sandbox Code Playgroud)

这很有效.我通过运行select语句验证了它.假设时间继续,我添加了一堆行.现在如果我想删除所有行,我应该使用delete还是truncate?看来我应该这样做

TRUNCATE [dbo].[table1]
Run Code Online (Sandbox Code Playgroud)

但是当我通过jtds jdbc驱动程序执行此操作时,我继续在'dbo'附近获取不正确的语法或在关键字TRUNCATE附近使用不正确的语法.

我对语法缺少什么?

SQL*_*ace 5

TRUNCATE [dbo].[table1]
Run Code Online (Sandbox Code Playgroud)

应该

TRUNCATE TABLE [dbo].[table1]
Run Code Online (Sandbox Code Playgroud)

括号用于允许无效的列名称,例如以数字开头或在其中包含空格的列名称

CREATE TABLE [ ]([ ] INT)
INSERT [ ] VALUES(1)

SELECT [ ] FROM [ ]
Run Code Online (Sandbox Code Playgroud)

你总是可以使用括号,它们不是必需的,但要防止有问题的列名