标题: SQL函数及SQL语句相关问题 [打印本页] 作者: 晕了我呀 时间: 2009-2-19 08:27 标题: SQL函数及SQL语句相关问题 1 要将一个数据库的所有表格使用批通信程序取出(BCP OUT),有何较快的方法?
2 SQL Server 7.0限制的同时使用的表格和视图数目为多少?
3 SQL Server 7.0与SQL Server6.5的DMO版本不同,是否可以在SQL Server 7.0执行SQL Server 6.5的存储过程?
4 为何使用批通信程序导入(BCP IN)SQL Server 7.0 Datetime字段后, millisecond(千分之一秒)会与导入前的值不同?
5 为什么使用SQL Server 7.0的标准差函数STDEV时出现"A domain error occurred"信息?
6 如何使用SQL Server 7.0查询选取(Query Analyzer)查询Oracle数据?
7 SQL Server 7.0是否可以使用RECURSIVE TRIGGER?
8 执行xp_logininfo时出现Server: Msg 8198, Level 16, State 10, Procedure xp_logininfo, Line 58 Could not obtain information about Windows NT group/user ''如何解决?要将一个数据库的所有表格使用批通信程序取出(BCP OUT),有何较快的方法?假设您的SQLServer 计算机名称为technology1,sa密码空的,如果要将pubs使用批通信程序取出,可以参照下列步骤:1)在Query Analyzer中执行下列指令:
select 'bcp pubs..' name ' out' ' d:\test\' name '.txt -c -Stechnology1 -Usa -P' from sysobjects where type = 'U'2)结果如下
----------------------------------------------------------------------------
bcp pubs..authors out d:\test\authors.txt -c -Stechnology1 -Usa -P
bcp pubs..publishers out d:\test\publishers.txt -c -Stechnology1 -Usa -P
bcp pubs..titles out d:\test\titles.txt -c -Stechnology1 -Usa -P
bcp pubs..titleauthor out d:\test\titleauthor.txt -c -Stechnology1 -Usa -P
bcp pubs..stores out d:\test\stores.txt -c -Stechnology1 -Usa -P
bcp pubs..sales out d:\test\sales.txt -c -Stechnology1 -Usa -P
bcp pubs..roysched out d:\test\roysched.txt -c -Stechnology1 -Usa -P
bcp pubs..discounts out d:\test\discounts.txt -c -Stechnology1 -Usa -P
bcp pubs..jobs out d:\test\jobs.txt -c -Stechnology1 -Usa -P
bcp pubs..pub_info out d:\test\pub_info.txt -c -Stechnology1 -Usa -P
bcp pubs..employee out d:\test\employee.txt -c -Stechnology1 -Usa -P
(11 row(s) affected)
3)将结果储存成文字文件,文件名为bat,将第一行的------与最后一行(11 row(s) affected)去掉。4)在DOS下创建d:\test的子目录,并执行上述的bat文件,该bat文件将Pubs数据库中的每个表格存放到每个txt文件中
SQL Server 7.0限制的同时使用的表格和视图数目为多少?256,SQL Server 6.5为16。SQL Server 7.0与SQL Server6.5的DMO版本不同,是否可以在SQL Server 7.0执行SQL Server 6.5的存储过程?可以,请将SQL Server 6.5升级到SP5a,但是无法使用SQL Server 7.0的MMC管理SQL Server 6.5。为何使用批通信程序导入(BCP IN)SQL Server 7.0 Datetime字段后, millisecond(千分之一秒)会与导入前的值不同?SQL Server 7.0时间的准确值为百分之三秒,所以millisecond(千分之一秒)的值为0、3或7详细请参考SQL Server 7.0 联机书籍datetime and smalldatetime (T-SQL)。为什么使用SQL Server 7.0的标准差函数STDEV时出现"A domain error occurred"信息?当数据为浮点数时,会因为浮点数运算不精确而造成此问题。当VAR(x) 为零时,如果计算机是用一个很小的负数表示,那么就无法开平方根运算标准差,就会出现这样的问题。当所有的数值都相等时,就很有可能出现这种错误信息。对于这种情形,建议使用下列方法: select sqrt(abs(var())) from如何使用SQL Server 7.0查询选取(Query Analyzer)查询Oracle数据?请参考下列示例:
先使用Oracle客户端软件设定一个网络服务名称,如:"OracleServer'﹝请参考Oracle手册﹞
在SQL Server 7.0中,使用链接的服务器连接到Oracle. 如: sp_addlinkedserver 'TESTLINK', 'Oracle', 'MSDAORA', 'OracleServer', ps. 'TESTLINK'是由您自定义的,'Oracle', 'MSDAORA'是固定的,'OracleServer'是由步骤1确定的。
在SQL Server 7.0中,使用addlinkedsrvlogin登录到Oracle. 如: sp_addlinkedsrvlogin 'TESTLINK', 'false', NULL,'OracleUsr', 'OraclePwd' ps. 'TESTLINK'是步骤2确定的,'OracleUsr'是Oracle用户名,'OraclePwd'是用户密码。
执行T-SQL语句。如: select * from .... ps.linkservername是步骤2确定的。
SQL Server 7.0是否可以使用RECURSIVE TRIGGER?可以。
执行xp_logininfo时出现Server: Msg 8198, Level 16, State 10, Procedure xp_logininfo, Line 58 Could not obtain information about Windows NT group/user ''如何解决?这是因为Windows NT的本地组或全局组与域或计算机的名称相同。 <