在另一个表中创建从不同的数据库在SQL Server 2005中
我有一个数据库“temp”与表“A”。我创建了新的数据库“temp2”。 我想将表“A”从“temp”复制到“temp2”中的新表中。我想这个说法,但它说我有不正确的语法,这里的语句:在另一个表中创建从不同的数据库在SQL Server 2005中
CREATE TABLE B IN 'temp2'
AS (SELECT * FROM A IN 'temp');
以下是错误:关键字附近
消息156,级别15,状态1,2 行语法错误'在'。 Msg 156,Level 15,State 1,Line 3 关键字'IN'附近的语法不正确。
任何人都知道最新的问题?
由于提前,
格雷格
我以前没见过这种语法。这是我通常使用的。
SELECT *
INTO temp2.dbo.B
FROM temp.dbo.A
谢谢,它做到了:D – Greg 2010-06-06 07:56:31
查询应该是:
SELECT * INTO temp2.dbo.b
FROM temp.dbo.a
我看到我和@ Martin的答案演变成了彼此:) – egrunin 2010-06-06 07:45:12
就像我认为这里只有一个正确的语法! – 2010-06-06 07:48:22
你需要足够的资格为SQL Server表名,以便能够识别正确的表。
名称结构是<server name>.<database name>.<schema>.<table>
。由于这两个表在同一个服务器上,你可以与免除,但仍需要休息:
SELECT *
INTO temp2.dbo.B
FROM temp.dbo.A
谢谢!这就是诀窍:) – Greg 2010-06-06 07:48:59
注意,SELECT INTO不会复制指标。如果你希望他们也可以生成从源脚本;在目标数据库上运行,并做从temp.dbo.a
如果插入
INSERT INTO temp2.dbo.b(列) 选择列你不想要的数据,你可以这样做:
SELECT TOP 0 * INTO temp2.dbo.b
FROM temp.dbo.a
如果你不知道,不想的数据,并只想表无数据shcema然后u可以使用这种方法也...
SELECT * INTO temp2.dbo.b
FROM temp.dbo.a where 1=0
最简单的方法是右键单击数据库temp
的表A
,然后单击Script Table as
=>CREATE to
=>New Query Editor Window
。这将创建脚本。
然后,改变2行。并运行它为新的数据库。
USE [temp2]
....
CREATE TABLE [dbo].[B]
.....
如果要在当前数据库的另一个数据库中创建新表,请运行查询。
CREATE TABLE `destination_database_name`.table_dummy AS (
SELECT * FROM currentDB.table
)
如果表“A”位于另一个服务器中,该怎么办? – Chella 2013-03-19 05:56:28