2014-11-08 82 views
0

我在尝试了解如何填充表格并由我的教授给出了一些代码。我不知道为什么这两个语句是在他们的语法不同:了解表格的填充

Q1

Insert into SecurityType (SecurityTypeCode, SecurityTypeDesc) 
      Values ('STO', 'Stock'); 

INSERT INTO [Country] ([CountryId], [CountryCode], [CountryDesc]) VALUES (-1, N'NOT SPECIFIED', N'Not Specified') 

也就是看一下上面的两个语句之后,我们可以写的第一条语句作为

Insert into SecurityType ([SecurityTypeCode], [SecurityTypeDesc]) 
      Values ('STO', 'Stock'); 

Q2: 我的教授说:“您需要设置Idenitity插入ON才能将值插入到标识列中。我不清楚“身份专栏”是什么。

感谢

+0

第二个插入插入两行。一个插入插入一行(我的意思是,与一个单一的值列表,在这种情况下)。 – 2014-11-08 20:10:44

+0

找出什么是标识列只是谷歌它,你会发现很多在线材料。至于把方括号'[]'放在列名周围,最好的做法是总是使用这些,但不一定总是这样,只有当列名是sql server的关键字或者列名有空格像'[国家ID]'。 – 2014-11-08 23:29:31

回答

0

1)列名可以包裹在括号中,如果列名是一个保留关键字或您的列名中有空格做到这一点。

所以你可以在列名周围有括号,它和第一条语句相同。

2)身份列值自动生成的,您使用此语法来创建这样的列

CREATE TABLE Employee 
(
    id int IDENTITY(1,1) 

SQL服务器不允许你插入这个身份列的值,如果你想插入一个默认值或一些值,您可以设置标识插入ON。