我想起各位高手帮我讲解一下 Sql数据库中的批处理  怎么写  怎么应用  最好有实例  有这方面的电子书推荐一个也可以

解决方案 »

  1.   


    EXEC master..xp_cmdshell @iSQL--@iSQL是你的命令语句
      

  2.   


    EXEC master..xp_cmdshell @iSQL--@iSQL是你的命令语句
      

  3.   

    很多情况下,需要给客户更新数据库,不值得跑一趟,客户自己也不懂得如何操作,远程操作网速还跟不上...这时可以把要更新的sql语句保存成文件,写一个批处理在命令行状态下调用查询分析器来执行这个sql文件里的语句。
    下面就是sqlserver帮助里对于查询分析器(isqlw)命令行参数的解释:isqlw 实用工具(SQL 查询分析器)使您得以输入 Transact-SQL 语句、系统存储过程和脚本文件。通过设置快捷方式或创建批处理文件,可以启动预配置的 SQL 查询分析器。语法
    isqlw
        [-?] |
         [
             [-S server_name[instance_name]]
             [-d database]
             [-E] [-U user] [-P password]
             [{-i input_file} {-o output_file} [-F {U|A|O}]]
             [-f file_list]
             [-C configuration_file]
             [-D scripts_directory]
             [-T template_directory]
         ]参数 
    -?显示用法信息。-S server_name[instance_name]:指定要连接到的 Microsoft® SQL Server™ 2000 实例。指定用于连接到该服务器上的 SQL Server 2000 默认实例的 server_name。指定用于连接到该服务器上的 SQL Server 2000 命名实例的 server_nameinstance_name。如果未指定服务器,isqlw 将连接到本地计算机上的 SQL Server 默认实例。从网络上的远程计算机执行 isqlw 时,此选项是必需的。-d database当启动 isqlw 时,发出一个 USE database 语句。默认值为用户的默认数据库。-E使用信任连接而不请求密码。-U user用户登录 ID。登录 ID 区分大小写。-P password是登录密码。默认设置为 NULL。-i input_file标识包含一批 SQL 语句或存储过程的文件。必须同时指定 -i 和 -o 选项。如果指定 -i 和 -o 选项,将执行输入文件中的查询,并将结果保存到输出文件中。在查询执行过程中不显示用户接口。当执行完成后,进程退出。-o output_file标识接收来自 isqlw 的输出的文件。必须同时指定 –i 和 –o 选项。如果指定 -i 和 -o 选项,将执行输入文件中的查询,并将结果保存到输出文件中。在查询执行过程中不显示用户接口。当执行完成后,进程退出。如果未使用 -F 指定文件格式,则输出文件使用与输入文件相同的类型。-F {U|A|O}是输入文件和输出文件的格式。值包括 Unicode、ANSI 和 OEM。如果未指定 -F,则使用自动模式(如果文件标为 Unicode 格式,则以 Unicode 格式打开;否则,以 ANSI 格式打开文件)。-f file_list将列出的文件装载到 SQL 查询分析器中。使用 -f 选项,可以装载一个或多个文件(文件名以单个空格分开)。如果指定了多个文件,则以相同的连接上下文将这些文件打开。文件名可以包含该文件所驻留的目录路径。可以使用通配符,如 C:Test*.sql 中的星号(*)。-C configuration_file使用配置文件中指定的设置。其它在命令提示下显式指定的参数将重写相应配置文件中的设置。-D scripts_directory重写在注册表中或在用 –C 指定的配置文件中指定的默认存储脚本目录。该值不保留在注册表或配置文件中。若要在 SQL 查询分析器中查看该选项的当前值,请单击"工具"菜单,然后单击"选项"命令。-T template_directory重写在注册表中或在用 –C 指定的配置文件中指定的默认模板目录。该值不保留在注册表或配置文件中。若要在 SQL 查询分析器中查看该选项的当前值,请单击"工具"菜单,然后单击"选项"命令。注释
    有用户界面或没有用户界面时都可使用 isqlw 实用工具。若要在没有用户界面的情况下运行 isqlw,请指定有效登录信息(具有信任连接或有效登录 ID 及密码的 SQL Server 2000 实例)和输入及输出文件。isqlw 将执行输入文件的内容,并将结果保存到输出文件中。如果没有指定输入和输出文件,isqlw 将交互运行并启动 SQL 查询分析器。如果指定了有效登录信息,isqlw 将直接连接 SQLServer 2000 实例。如果指定的连接信息不充足,将出现"连接到 SQL Server"对话框。isqlw 和 SQL 查询分析器使用 ODBC API。该实用工具使用 SQL-92 的 Microsoft® SQL Server ODBC 驱动程序默认设置。示例
    A. 执行 SQL 语句本例使用 Windows 身份验证连接到 MyServer 上的 pubs 数据库,并执行 Input.sql 文件。结果保存在 Output.txt 文件中。这些文件以 Unicode 文件方式打开。isqlw -S MyServer -d pubs -E -i input.sql -o output.txt -FUB. 使用通配符本例将两个文件装载到 SQL 查询分析器中。将使用 Windows 身份验证连接到本地服务器。isqlw -d pubs -E -f "c:Program FilesMicrosoft SQL ServerMSSQLInstallinstpubs.sql" "c:Program FilesMicrosoftSQL ServerMSSQLInstallinstcat.sql"C. 装载多个文件本例将所有 .sql 文件装载到 SQL 查询分析器中。所有连接均使用 Windows 身份验证并指向本地服务器上的 pubs 数据库。isqlw -d pubs -E -f "c:Program FilesMicrosoft SQL ServerMSSQLInstall*.sql"D. 使用 Unicode 文件
    本例连接到 MyServer(pubs 数据库),并执行 input_file 中的 SQL 语句,执行结果存储在 output_file 中。isqlw -S MyServer -d pubs -U sa -P -i input_file -o output_file
      

  4.   

    一、批处理
     1 .批处理:指包含一条或多条T - SQL语句的语句组,这组语句从应用程序一次性地发送到SQL server服务器执行。
     2 .执行单元:SQL server服务器将批处理语句编译成一个可执行单元,这种单元称为执行单元。
     3 .若批处理中的某条语句编译出错,则无法执行。若运行出错,则视情况而定。
     4 .书写批处理时,go语句作为批处理命令的结束标志,当编译器读取到go语句时,会把go语句前的所有语句当作一个批处理,并将这些语句打包发送给服务器。go语句本身不是T - SQL语句的的组成部分,只是一个表示批处理结束的前端指令。
     5 .建立批处理里注意:
    ( 1 ). create   default , create   rule , create  trigger和create view等语句在同一个批处理中只能提交一个。
    ( 2 ).不能在删除一个对象之后,在同一批处理中再次引用这个对象。
    ( 3 ).不能把规则和默认值绑定到表字段或者自定义字段上之后,立即在同一批处理中使用它们。
    ( 4 ).不能定义一个check约束之后,立即在同一个批处理中使用。
    ( 5 ).不能修改表中一个字段名之后,立即在同一个批处理中引用这个新字段。
    ( 6 ).使用set语句设置的某些set选项不能应用于同一个批处理中的查询
    ( 7 ).若批处理中第一个语句是执行某个存储过程的execute语句,则execute关键字可以省略。若该语句不是第一个语句,则必须写上。
    例:
     use  taihang
     go 
     select   *   from  yuan
     go 
    creacte  view  view1  as 
     select   *   from  yuan
     where  qq = ' asdf ' 
     go 
     select   *   from  view1
     go  
    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/gloomylilac/archive/2007/12/17/1943308.aspx这也是批处理