技术盘点之TSQL

本文详细介绍了TSQL在数据库操作中的应用,包括循环、综合查询、按日期生成流水号和统计分析等方面,展示了TSQL的过程化特性和实用技巧。通过实例代码,帮助读者理解和掌握TSQL的重要功能。
摘要由CSDN通过智能技术生成

SQL,这个初级程序员必不可少器具,不知不觉一路走来,哦,又一个乱糟糟的家伙!和脚本、ASP是一道的!现在ASP.NETC#C++、通史也够花我不少时间,再添一菜实在看着没食欲,吃也消不来,慢慢来。眼见目前的情况,这个SQL是必不可少的,唯有现在耐心细数一下记忆与经验,希望足够喂饱新的工作。

记得有句话这样说:Talents come from diligence, and knowledge is gained by accumulation,即天才来自勤奋,智慧来自积累。半路出家,虽没有系统走过SQL,但也有不少作业经验,积起也成“智慧”。

 

(本帖有部分代码来源自过往的工作,标识基本上改掉,基本上属于工作时即兴练习,并无机密可言,现作知识积累,如有您觉得有“版权”问题,请与我联系)

1.    一些话... 1

2.    一个简单的循环例子... 1

3.    一个简单的综合查询... 2

4.    一个按日期生成流水号的例子... 4

5.    统计系统交易情况... 6

6.    统计会员收到的各种物品... 7

7.    统计会员点值使用情况并报告数据的正确性... 7

8.    收回会员赠出去的非法点值... 8

 

1.      一些话

Transact-SQL是标准SQLMS的扩展实现。T-SQL不是SQL,怎么说呢,SQL非过程化数库语言,也就是说SQL没有ifWHIELswitchflow control语句。过程代操作由各厂商自己的DBMS实现,比如现在说的MS SQL SERVER里的T-SQL

TSQL与编译语言相比却更像脚本语言,不显式编译而依赖宿主执行。TSQL脚本特色在语法上表现在掺杂了SQL指令(如SELECT出来的字段值可给变量赋值),这个也体现了TSQL的主要用途—过程化数据库操作而来的。

TSQL的语法特色:

n         变量@

n         系统变量@@

n         声明DECLARE

n         单引字符串,加号连接

n         赋值SET,SELECT

n         语句块BEGIN……END

2.      一个简单的循环例子

实现目标:生成一个密码字符数据待用,用于随机生成密码

实现思路:穷举所有字符填进一张临时表待用。字符不可控制循环,其ASCII码可以

实现难点

技术要点

1.       循环控制WHILE……CONTINUE

2.       字符转ASCII码转换函数ASCII()

3.       ASCII码转字符转换函数CHAR()

4.       逻辑操作符IN

DECLARE @min         AS integer
DECLARE @max 
        AS integer
DECLARE @charCode 
   AS integer
SET @min = ASCII(
'1')
SET @charCode = @min
SET @max = ASCII(
'z')
WHILE @charCode <= @max
  BEGIN

--排除掉一些不用作密码的字符
  
  IF CHAR(@charCode) IN (':',';','<','=','>','?','[','/',']','^','_','`')
    
   BEGIN
         
  SET @charCode = @charCode + 1
         
  CONTINUE
    
   END

  
     PRINT CHAR(@charCode)
  
     INSERT INTO PasswordChar(CodeChar) VALUES (CHAR(@charCode))
  
     SET @charCode = @charCode + 1
  END

3.      一个简单的综合查询

实现目标:一个典型的综合查询,由客户点选条件进自定查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值