我对SQL Server和T-SQL不太熟悉,所以我试图了解插入到此表中的内容。我认为只是插入了字段或列名,因为没有FROM
语句,但语法看起来很奇怪。显然,一次插入是一个变量。前面的0是什么?我只处理过MySQL。
INSERT INTO EXAMPLETABLE
SELECT
@RANDOMEVARIABLE IDTYPE, 0 foofoofoo, 0 foofoo, 0 foo
答案 0 :(得分:1)
将插入一条记录。 @RANDOMEVARIABLE
的值将存储在第一列中,0将存储在接下来的3列中。由于所有值都是常量(和一个局部变量),因此不需要FROM
。
请注意SELECT
部分中列的顺序和名称无关紧要。数据将按照目标表中存在的顺序映射到列(类型也必须兼容)。因此,通常最好指定列:
INSERT INTO EXAMPLETABLE
VALUES (IDTYPE, foofoofoo, foofoo, foo)
SELECT @RANDOMEVARIABLE IDTYPE, 0 foofoofoo, 0 foofoo, 0 foo
如果不提供列别名,您将获得相同的结果:
INSERT INTO EXAMPLETABLE
SELECT @RANDOMEVARIABLE, 0, 0, 0