仓酷云
标题:
在sql server中打印九九乘法表
[打印本页]
作者:
愤怒的大鸟
时间:
2015-1-16 14:07
标题:
在sql server中打印九九乘法表
先说DDL的分类。有一类DDL,是不需要重建表的,比如加非聚簇索引。这类操作其实不会丢数据,也是在原表上直接操作,对于我们“以恢复数据为目的”的闪回,是可以先忽略的。另外一类,则是会影响到表数据的操作。明天在csdn上看到几位伴侣写的使用sql语句打印九九乘法表的体例,对照成心思。
办法一:
declare@xint
set@x=1
declare@yint
declare@cvarchar(8000)
while(@x<=9)
begin
select@y=1,@c=
while(@y<=@x)
begin
select@c=@c+cast(@yasvarchar)+*+cast(@xasvarchar)+=+cast(@x*@yasvarchar)+
set@y=@y+1
end
print@c+char(10)
set@x=@x+1
end
这个办法打印出来的效果以下:
1*1=1
1*2=22*2=4
1*3=32*3=63*3=9
1*4=42*4=83*4=124*4=16
1*5=52*5=103*5=154*5=205*5=25
1*6=62*6=123*6=184*6=245*6=306*6=36
1*7=72*7=143*7=214*7=285*7=356*7=427*7=49
1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64
1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81
办法二:
select
max(casewhena>0then1*+a+=+ltrim(a*1)end)[1],
max(casewhena>1then2*+a+=+ltrim(a*2)end)[2],
max(casewhena>2then3*+a+=+ltrim(a*3)end)[3],
max(casewhena>3then4*+a+=+ltrim(a*4)end)[4],
max(casewhena>4then5*+a+=+ltrim(a*5)end)[5],
max(casewhena>5then6*+a+=+ltrim(a*6)end)[6],
max(casewhena>6then7*+a+=+ltrim(a*7)end)[7],
max(casewhena>7then8*+a+=+ltrim(a*8)end)[8],
max(casewhena>8then9*+a+=+ltrim(a*9)end)[9]
from
(
selectltrim(number)afrommaster..spt_values
wheretype=pandnumberbetween1and9
)tgroupbya
这个sql查询的了局为:
1*1=1 NULL NULL NULL NULL NULL NULL NULL NULL
1*2=2 2*2=4 NULL NULL NULL NULL NULL NULL NULL
1*3=3 2*3=6 3*3=9 NULL NULL NULL NULL NULL NULL
1*4=4 2*4=8 3*4=12 4*4=16 NULL NULL NULL NULL NULL
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 NULL NULL NULL NULL
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 NULL NULL NULL
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 NULL NULL
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 NULL
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
使用C#完成能够参考本站:使用C#完成九九乘法表有了数据以后,我们就要想一个比较统一的方法来闪回。上面我们说了对于DML操作,可以通过反向执行所有逆操作来实现,对于语句里面的DDL,只能直接跳过。原因是一个DDL不一定有直接的逆操作。
作者:
再见西城
时间:
2015-1-18 12:01
而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。
作者:
深爱那片海
时间:
2015-1-25 10:14
这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?
作者:
admin
时间:
2015-2-2 21:50
索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。
作者:
冷月葬花魂
时间:
2015-2-8 07:49
同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。
作者:
金色的骷髅
时间:
2015-2-25 02:20
原来公司用过MYSQL自己也只是建个表写个SQL
作者:
分手快乐
时间:
2015-3-7 16:25
大家注意一点。如下面的例子:
作者:
第二个灵魂
时间:
2015-3-15 09:37
个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。
作者:
若相依
时间:
2015-3-22 00:24
我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2