基本sql语法如何引用数据库?

基本sql语法如何引用数据库?,sql,sql-server,Sql,Sql Server,我能够得到下面的代码来满足我的需要,但只有当我在顶部包含前缀“use”时。当我尝试在“where”子句中包含数据库的名称时,我没有成功(将返回列标题而没有行) 我需要使用什么语法来引用数据库对象而不使用“use” (注意:这个问题是出于我自己的好奇心。“use”前缀有效地解决了我运行元数据查询的问题。) 在使用的每个查询中,都必须设置希望sql server访问的数据库。 我们有两种方法: 1.“使用”命令(如您所写) 2.为数据库的列表框(左侧,顶部)选择 注意,“use”命令从列表框的方式

我能够得到下面的代码来满足我的需要,但只有当我在顶部包含前缀“use”时。当我尝试在“where”子句中包含数据库的名称时,我没有成功(将返回列标题而没有行)

我需要使用什么语法来引用数据库对象而不使用“use”

(注意:这个问题是出于我自己的好奇心。“use”前缀有效地解决了我运行元数据查询的问题。)



在使用的每个查询中,都必须设置希望sql server访问的数据库。 我们有两种方法: 1.“使用”命令(如您所写) 2.为数据库的列表框(左侧,顶部)选择 注意,“use”命令从列表框的方式来看更强大。 我希望我能帮忙。
祝你好运

您可以将databasename添加到每个对象,SQL Server中有四部分命名语法:
Server.database.schema.object

SELECT 
    c.name 'Column Name',
    t.Name 'Data type',
    c.max_length 'Max Length',
    c.precision ,
    c.scale ,
    c.is_nullable,
    ISNULL(i.is_primary_key, 0) 'Primary Key'
FROM    
    [Investment Data 1].sys.columns c
INNER JOIN 
    [Investment Data 1].sys.types t ON c.user_type_id = t.user_type_id
LEFT OUTER JOIN 
    [Investment Data 1].sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id
LEFT OUTER JOIN 
    [Investment Data 1].sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id
WHERE
    c.object_id = OBJECT_ID('dbo.hurricane_landfall_2017')
您可能可以使用完全限定的名称:
[Investment Data 1].sys.columns
,等等。
SELECT 
    c.name 'Column Name',
    t.Name 'Data type',
    c.max_length 'Max Length',
    c.precision ,
    c.scale ,
    c.is_nullable,
    ISNULL(i.is_primary_key, 0) 'Primary Key'
FROM    
    [Investment Data 1].sys.columns c
INNER JOIN 
    [Investment Data 1].sys.types t ON c.user_type_id = t.user_type_id
LEFT OUTER JOIN 
    [Investment Data 1].sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id
LEFT OUTER JOIN 
    [Investment Data 1].sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id
WHERE
    c.object_id = OBJECT_ID('dbo.hurricane_landfall_2017')