随笔分类 - TSQL
摘要: 首先在所选的数据库上右键,任务,生成脚本。生成过程中,注意选择目标数据库为SQL Server2000.
第二,这个脚本是不能在SQL2000的查询分析器中使用的,通过如下的Emeditor宏来转换吧:
阅读全文
摘要: 在执行SQL语句时,有时我们必须使用Like语句,还需要动态依条件拼出SQL然后执行。此时你可以会因为一点点麻烦而拒绝使用参数化SQL,其实一点也不麻烦。
阅读全文
摘要: 如果你的项目要求你的程序对高达几万条的数据在集中的时间内执行固定序列的操作,且不能完全使用存储过程时而需要使用程序来执行时。会需要这些优化。
我们知道,SQL服务器对一条语句的执行,需要分析、编译、执行这些步骤,通过参数化我们可以对一种命令只分析和编译一次,而执行多次,从而提高效率。在执行时,如果每次提交语句,可以完成多条SQL语句,则可以减少通讯时间,也可以提高效率。
通过 System.Data.IDbCommand.Prepare() 方法,我们可以在第一次执行语句时,分析和编译SQL语句,然后保存这个Command对象,下次使用时,直接设置参数执行。这个方法对Oracle和MsSql Server都有效。
如果执行一批语句,在T-SQL和PLSQL中有一点不一样。
在T-SQL中,多条SQL语句之间,使用分号";"分隔就行。
delete from TableA where id = @id;update TableB set Name=@name where id=@id
而在PLSQL中,则需要
阅读全文
摘要:数据库表: create table [import] ( [number] [varchar] (50) not null , [password] [varchar] (50) not null ) 数据文件格式: 3111000000,22823111000001,29583111000002,62983111000003,52583111000005,8269311100000...
阅读全文
摘要:我们写程序的,难免要和数据库进行打交道,存储过程的参数也是在编程中经常要用到的. 但在存储过程参数中,如果有 int 型的参数,我一般习惯于这样写: create PROCEDURE [dbo].[usp_jf_stat_log_jifen] ( @timebegin datetime, @timeend datetime, @stat int --...
阅读全文
摘要:在我们使用MSSQL的时候,有时表中有一些是全角的数字,但我们的系统不能够正确的使用它们,这时我们要把他们替换为半角数字。而SQL自己好像没有这个函数。 没有,我们自己动手: 下面就是我自己写的一个函数,当然,我的数据量小,没有考虑性能! -- 把全角数据转换成半角数字(注意,这个只能转换全是全角的,在第一个半角数据时返回)-- 公司:石家庄创联科技-- 编写:牛昆亮 QQ:2733521...
阅读全文
摘要:今天调程序,执行SQL老是报错。最终发现是 varchar 和 nvarchar 造成的。郁闷。本来没有这个问题,但是接口使用方传过来的字串编码错误,导致乱码。 CREATE TABLE [TEST] ( [nn] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL , CONSTRAINT [PK_TEST] PRIMARY KEY ...
阅读全文
摘要:/*作者:阿牛(牛昆亮) QQ:273352165 MSN:niukl@hotmail.com声明:可以免费使用,请您保留此信息 如果您有什么改过,记得告诉我!*/在我们使用存储过程的时候,有时为了组合查询条件,不得不使用动态查询。比如下面的代码: create proc usp_search@city intasbegin declare @sql varchar(8000) ...
阅读全文
摘要:alter function dbo.ufn_ConvertToIntList( @data varchar(7990))returns @table Table(c int not null)asbegin declare @str varchar(8000),@iter varchar(50) ,@beginPos int, @endPos int selec...
阅读全文