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