关于sybaseiq 查看表结构执行sql语句出错,该怎么处理

Sybase IQ自增列identify值的返回
Sybase IQ自增列identify值的返回
做项目的时候使用到了Sybase IQ,由于Sybase没有的sequence概念,
在处理插入并发时,一般只能使用到identify自增列,但是这个自增列的值如何获取,
还是需要了解一番的。
一般使用如下方法获取:
set nocount on insert into 表 (字段1,字段2...) values(value1,value2) select @@identify as id & & &
set nocount on 这句话不可少,具体原因有兴趣的可以自己去查syabse官方文档。
select @@identify as id 用于返回插入改行数据的自增id。
注意:该sql使用查询方式执行,不能使用update方式。
作者 housen1987
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。页面导航:
→ 正文内容 BAT批处理执行sql
使用BAT批处理执行sql语句的代码
有时候需要执行一些Sql语句时,不想开企业管理器,或者是发给客户执行但那边又不懂代码,这时就可以用下面方法
1、把待执行Sql保存在一个文件,这里为.sql。2、新建一个扩展名.bat的批处理文件,输入下面命令并保存后,双击.bat文件,系统会自动执行.sql的语句:
代码如下:osql -S gdjlc -d TestDB -U sa -P 1 -i .sql
osql参数见下面=======================================================================:
E:\&osql /?icrosoft (R) SQL Server 命令行工具版本 10.0.1600.22 NT INTEL X86版权所有 (c) Microsoft Corporation。保留所有权利。
注意: osql 并不支持 SQL Server 2008的所有功能。请使用 sqlcmd。有关详细信息,请参阅 SQL Server 联机丛书。
用法: osql&&&&&&&&&&&&&&&&&& [-U 登录 ID]&&&&&&&&& [-P 密码]&[-S 服务器]&&&&&&&&&&&&&&& [-H 主机名]&&&&&&&&&& [-E 可信连接]&[-d 使用数据库名称]&&&&&&& [-l 登录超时值]&&&&&& [-t 查询超时值]&[-h 标题]&&&&&&&&&&&&&&&&& [-s 列分隔符]&&&&&&&& [-w 列宽]&[-a 数据包大小]&&&&&&&&&&& [-e 回显输入]&&&&&&&& [-I 允许带引号的标识符]&[-L 列出服务器]&&&&&&&&&&& [-c 命令结束]&&&&&&&& [-D ODBC DSN 名称]&[-q "命令行查询"]&&&&&&&&& [-Q "命令行查询" 并退出]&[-n 删除编号方式]&&&&&&&&& [-m 错误级别]&[-r 发送到 stderr 的消息]& [-V 严重级别]&[-i 输入文件]&&&&&&&&&&&&& [-o 输出文件]&[-p 打印统计信息]&&&&&&&&& [-b 出错时中止批处理]&[-X[1] 禁用命令,[退出的同时显示警告]]&[-O 使用旧 ISQL 行为禁用下列项]&&&& &EOF& 批处理&&&& 自动调整控制台宽度&&&& 宽消息&&&& 默认错误级别为 -1 和 1&[-? 显示语法摘要]
&通过批处理执行sql命令实例:
&通过批处理执行sql命令:
1. Restore.bat文件内容:
&&&&& osql -E -S -i C:\TempDB\Restore.txt
2. Restore.txt文件内容:
代码如下:use masterif exists (select * from sysdevices where name='TruckDB')&&&&&& EXEC sp_dropdevice 'TruckDB'Else&&&&&& EXEC sp_addumpdevice 'disk','TruckDB', 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\TruckDB.mdf'restore database TruckDBfrom disk='c:\TempDB\TruckDB'with replace&
导出数据到txt:
代码如下:EXEC master..xp_cmdshell 'bcp "test..mintest" in d:\mintest2.txt -c -Sd02 -Usa -P'EXEC master..xp_cmdshell 'bcp "test..min" out d:\mintest2.txt -c -Sd02 -Usa -P'
很多情况下,需要给客户更新数据库,不值得
跑一趟,客户自己也不懂得如何操作,远程操作网速还跟不上...这时可以把要更新的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&# 实例。指定用于连接到该服务器上的 SQL Server 2000 默认实例的 server_name。
指定用于连接到该服务器上的 SQL Server 2000 命名实例的 server_nameinstance_name。如果未指定服务器,isqlw 将连接到本地
计算机上的 SQL Server 默认实例。从网络上的远程计算机执行 isqlw 时,此选项是必需的。
-d database
当启动 isqlw 时,发出一个 USE database 语句。默认值为用户的默认数据库。
使用信任连接而不请求密码。
用户登录 ID。登录 ID 区分大小写。
-P password
是登录密码。默认设置为 NULL。
-i input_file
标识包含一批 SQL 语句或存储过程的文件。必须同时指定 -i 和 -o 选项。如果指定 -i 和 -o 选项,将执行输入文件中的查询,并
将结果保存到输出文件中。在查询执行过程中不显示用户接口。当执行完成后,进程退出。
-o output_file
标识接收来自 isqlw 的输出的文件。必须同时指定 Ci 和 Co 选项。如果指定 -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
重写在注册表中或在用 CC 指定的配置文件中指定的默认存储脚本目录。该值不保留在注册表或配置文件中。若要在 SQL 查询分析
器中查看该选项的当前值,请单击"工具"菜单,然后单击"选项"命令。
-T template_directory
重写在注册表中或在用 CC 指定的配置文件中指定的默认模板目录。该值不保留在注册表或配置文件中。若要在 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 -FU&
B. 使用通配符本例将两个文件装载到 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
您可能感兴趣的文章:
上一篇:下一篇:
最 近 更 新
热 点 排 行
12345678910SybaseIQ数据备份恢复命令_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
SybaseIQ数据备份恢复命令
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢请问sql语句中@@error返回的执行错误代码一般都是什么错误呀?语句执行都错误了怎么还能返回错误代码呢?_百度知道
请问sql语句中@@error返回的执行错误代码一般都是什么错误呀?语句执行都错误了怎么还能返回错误代码呢?
提问者采纳
退出过程。在可能出错的语句后面放是检查@@ERROR的语句;&IF&;&nbsp。&=&32&&&nbsp@@ERROR是返回最后执行的 Transact-SQL 语句的错误代码;&&&nbsp,1)--提交错误信息;authors&occurred'=&nbsp:下面的示例用 @@ERROR 在一个 UPDATE 语句中检测限制检查冲突(错误 #547)。UPDATE&'@@ERROR&;constraint&RAISERROR('check&172-32-1176&&END错误信息有很多6-7千条;BEGIN&172&au_id&SET&RETURN--退出过程&=&WHERE&nbsp,提交错误信息;&&violation&&547&au_id&nbsp,就可以将错误按照自已的方式处理;A&nbsp
提问者评价
来自团队:
其他类似问题
为您推荐:
其他1条回答
比如你循环执行一个插入,什么错误都有可能啊。否则就是有错误了?亲╭(╯3╰)╮@@error是标示上一次的错误语句的错误代码,如果是0标示你上一段插入没有一次错误。懂了么,你就可以回滚了,但是真个插入还是执行完了,你可以通过这个变量的值来判断上一个过程或者语句是否出错啊,你就可以查看@@error码来判断了。当你执行一条错误语句后,这个时间你要判断整个插入是否成功以便决定是否提交,是系统记录的,插入到中间的时候一条记录出错了,系统就将错误代码记录到这个变量上。这个不是返回的,关键看你上一个执行出错的是什么语句了
循环执行一个插入,插入到中间的时候一条记录出错了,但是真个插入还是执行完了,什么叫插入到中间的时候一条记录出错了?出错了还能执行完?
自己多看看吧。
呵呵,好哒~
sql语句的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 hibernate执行sql语句 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信