MSSQL编程:SQL Server 2005中的SQLCMD工具利用
这能找出所有错误的99.99%。它不能找出的是仅仅涉及数据文件的损坏(这很不常见)。如果你想要检查一张表,你通常应该没有选项地运行myisamchk或用-s或--silent选项的任何一个。 本文概述SQLServer2005中的SQLCMD工具利用办法历程等,并汇总变量列表。1、你能够用SQLCMD实行交互式举措,如:
C:sqlcmd>sqlcmd
1>SELECTnamefromsys.databases
2>GO
你也能够试着键进以下命令,实际服务器列表
1>:ServerList
SERVERS:
WUYZ
1>假如想看其他命令的利用,能够键进:Help/?
2、实行SQL剧本文件
你能够在SQLCMD命令上到场参数I来实行SQL剧本文件,比方:
C:sqlcmd>sqlcmd-itest.sql
下面的I选项同意你实行一个剧本文件,别的,你也能够指定O选项,把命令的输入导出到指定文件,固然,我们也能够在代码中指定输入了局,以下
C:sqlcmd>sqlcmd
1>:outoutput.txt
2>:rtest.sql
3、在剧本中利用变量
SQLCMD撑持能够在剧本中吸收用户传进的变量信息,以下面语句:
SETNOCOUNTON
Select$(Cols)from$(tablename)
GO
下面语句哀求2个参数,我们能够经由过程指定响应的参数信息传给剧本,以下:
C:sqlcmd>sqlcmd-itest.sql-oOutput.txt-vcols="name,object_id,create_date"tablename="sys.objects"
下面语句的用处是:实行TEST.SQL剧本文件,并把输入的信息输入到OUTPUT.TXT文件中,并分离指定了COLS,TABLENAME的参数值
4、在剧本中设置变量的值
除经由过程内部传进参数的值外,还能够在外部设置参数的值,以下面例子
e:sqlcmdackuptemplate.sql
usemaster
backupdatabase[$(db)]todisk=$(file)
e:sqlcmdackupsingle.sql
:setvardbmsdb
:setvarfilec: empmsdb.bak
:re:sqlcmdackuptemplate.sql
假如你想晓得固然界说了哪些变量,可使用:listvar命令来显现。次要命令汇总:
:rfilename
:ServerList
:List
:Listvar
:Errorfilename|STDOUT|STDERR
:Outfilename|STDOUT|STDERR
:Perftracefilename|STDOUT|STDERR
:Connectserver]
:OnError
:SetVarvariablevalue
:Help:XMLON|OFF
次要情况变量汇总:
-aSQLCMDPACKETSIZE
-dSQLCMDDBNAME
-HSQLCMDWORKSTATION
-hSQLCMDHEADERS
-lSQLCMDLOGINTIMEOUT
-mSQLCMDERRORLEVEL
-PSQLCMDPASSWORD
-SSQLCMSSERVER
-sSQLCMDCOLSEP
-tSQLCMDSTATTIMEOUT
-USQLCMDUSER
-wSQLCMDCOLWIDTH
mysql的prepare其实是本地PHP客户端模拟的,并没有根据你mysql的设置做字符集的调整。应该交与mysqlserver端做prepare,同时得调用mysql_set_character_set去操作,server才会按照字符集去做转义。 习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。 入门没那么困难,精通没那么容易 分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。 如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。 在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。 比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。 外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。 入门没那么困难,精通没那么容易
页:
[1]