请分析此foxpro到sql server的迁移要求..
我在foxpro中使用了这个函数(),它确定工作区中的表是否打开。SQL Server中是否有这样的函数来完成相同的工作?
发布于 2012-06-15 13:53:24
我很久以前就从Foxpro转到了SQL。简要介绍它在SQL Server中的工作方式:
USE
命令。示例如下。假设我的登录名可以访问两个数据库: TestA和TestB。两个数据库都包含表MyData,并且每个表包含不同的数据(A数据和B数据)。当我登录时,我的上下文被设置为一个数据库,比如TestA。如果我运行SELECT * from MyData
,我将从数据库TestA中获取该表的内容。如果我想从TestB获取数据,我要么必须运行SELECT * from TestB.dbo.MyDta
--指定我从中获取数据的数据库--要么必须更改数据库的上下文;在编程上,这是通过Use命令完成的,例如‘Use TestB’。
这是对“它是如何工作的”的非常简单的描述。这都是编程,这意味着有几十种方法来执行给定的操作,这取决于您正在使用的工具(应用程序)和您寻求实现的任务。我强烈建议您仔细阅读SQL联机丛书中的所有内容,以及SQL Server附带的文档-- Microsoft在记录该产品方面做得非常好。
发布于 2012-06-16 12:48:18
Philip关于SQL中的一切都是“打开”的说法是正确的。然而,我想我会用不同的方式来表达它。当SQL-Server运行时(因为它通常是一个自动服务,当服务器本身启动时启动),任何已经“附加”的“数据库”都可用于查询,并且基本上不能从其他任何地方的操作系统接触,因为SQL有一个打开的文件“句柄”,从而防止复制、删除、移动等……
如果你确实想要复制/移动到其他位置,甚至另一个服务器,你必须分离释放句柄的“数据库”,你可以做任何事情。
至于你可以在SQL-Server中做什么。您甚至不必显式打开数据库,但可以通过database.table引用来限定您的查询...比如
select t1.field
from YourDatabase.SomeTable t1
where t1.SomeField = ?whatever
只要附加了数据库,就应该可以运行了。
https://stackoverflow.com/questions/11051260
复制相似问题