从sql server 2005中不同数据库中的另一个表创建表
我有一个带有表“A”的数据库“temp”。我创建了新的数据库“temp2”。 我想将表“A”从“temp”复制到“temp2”中的新表。我尝试了这个语句,但它说我的语法不正确,这是语句:
CREATE TABLE B IN 'temp2'
AS (SELECT * FROM A IN 'temp');
这是错误:
Msg 156,Level 15,State 1,Line 2 关键字“IN”附近的语法不正确。 消息 156,第 15 级,状态 1,第 3 行 关键字“IN”附近的语法不正确。
有人知道是什么问题吗?
提前致谢,
格雷格
I have a database "temp" with table "A". I created new database "temp2".
I want to copy table "A" from "temp" to a new table in "temp2" . I tried this statement but it says I have incorrect syntax, here is the statement:
CREATE TABLE B IN 'temp2'
AS (SELECT * FROM A IN 'temp');
Here is the error:
Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'IN'.
Msg 156, Level 15, State 1, Line 3
Incorrect syntax near the keyword 'IN'.
Anyone knows whats the problem?
Thanks in advance,
Greg
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
如果您不需要数据,只想要没有数据的表的 shcema,那么您也可以使用这种方法......
If you don,t want the data and only want the shcema of table without data then u can use this approach also...
查询应该是:
Query should be:
如果您不想要这些数据,您可以执行以下操作:
If you don't want the data you can do:
最简单的方法是右键单击数据库
temp
中的表A
,然后单击Script Table as
=>创建到
=>新查询编辑器窗口
。这将创建脚本。然后,更改以下两行。并为新数据库运行它。
The easiest way is by right click on table
A
from databasetemp
, then clickScript Table as
=>CREATE to
=>New Query Editor Window
. This will create the script.Then, change following 2 lines. and run it for new database.
请注意,SELECT INTO 不会复制索引。如果您也想要它们,您可以从源生成脚本;在目标数据库中运行并执行 insert into
insert into temp2.dbo.b (列)
从 temp.dbo.a 中选择列
Note that SELECT INTO wont copy the indexes. If you want them too, you can generate script from source;run in the target db and do insert into
insert into temp2.dbo.b (columns)
select columns from temp.dbo.a
我以前没见过这种语法。这是我通常使用的。
I've not seen that syntax before. This is what I normally use.
您需要限定足够的表名,以便 SQL Server 能够识别正确的表。
名称结构为
<服务器名称>.<数据库名称>.<架构>.<表>
。由于两个表都位于同一服务器上,因此您可以省略它,但仍然需要其余部分:You need to qualify enough of the table name for SQL Server to be able to identify the correct table.
The name structure is
<server name>.<database name>.<schema>.<table>
. As both tables live on the same server you can dispense with that, but still need the rest:如果要在当前数据库的另一个数据库中创建新表,请运行查询。
If you want to create a new table in another DB from the current DB, run the query.