我的查询返回语法错误:
无效的对象名称'table.clientinfo'。
这是我的问题:
INSERT table.clientinfo (name, addr, entry, affiliate )
SELECT name, addr, entry, affiliate FROM table.clientinfo WHERE product = 5
插入函数导致的错误是否找不到'clientinfo',因为它不存在。
在从select函数填充表之前,有人能给我正确的语法来创建表吗?
答案 0 :(得分:1)
您需要CREATE TABLE
CREATE TABLE clientinfo (
name VARCHAR(100)
addr VARCHAR(100)
entry VARCHAR(100)
affiliate VARCHAR(100)
);
具有适合您应用的特定类型/尺寸。您可能还想指示foriegn和主键,约束等
答案 1 :(得分:0)
你应该使用
INSERT INTO [tablename] (field1, field2, ... , fieldx)
SELECT ...
或者如果您想直接创建其他数据:
SELECT field1, field2, ... , fieldx
INTO newTable
FROM oldtable
WHERE ....
答案 2 :(得分:0)
在SQL Server中,如果要选择并插入新表,请使用以下语法:
SELECT name, addr, entry, affiliate
INTO (new table name)
FROM [table.clientinfo]
WHERE product = 5
您需要SELECT .... INTO
,并且需要确保使用正确的表名。
如果您的表名真的中有一个点(非常糟糕的做法!),那么您必须将该表名放在方括号中:{{1} }
此外,在执行FROM [table.clientinfo]
时,您无法从现有表中进行选择并插入到同一现有表中 - 您需要为目标表使用新的表名。