1/1页1 跳转到查看:583
发新话题 回复该主题

Sybase程序设计中极易造成误解的内部规则

Sybase程序设计中极易造成误解的内部规则

Sybase程序设计中极易造成误解的内部规则
2008-06-20
SYBASE 数据库是当今在UNIX环境下最为流行的大型数据库之一,本人在SYBASE下开发和维护软件的过程中,发现了一些SYBASE的内部规则,在程序设计中极易造成误解,而达不到预期的目的。下文将本人所发现的几个问题及其解决办法叙述如下:


◆1、在sybase11.5中,组合两个定长的 char(x)="aaa",char (y)="bbb"; char(x)+char(y)!="aaabbb"



declare @val_1 char(8)

declare @val_2 char(1)

select @val_2 = 'x'

select @val_1 = "0000"

select @var_1= @val_1 + @val_2

select @var_1



我们期望的结果为0000x, 而实际上其结果为0000。


解决方法一:当我们将"select @var_1=@val_1+@val_2",改为"select @var_1=rtrim(@var_1)+@var_2"时,我们便看到了我们所期望的结果。为什么呢?在有的SYBASE版本中存储一个char(n)时,在其真实值后补上了相应数量的空格,在本例中,存储在@var_1中的是0000 (在0000后有四个空格)。你可以加上如下两句来验证:



declare @val3 char(10)

select @val3 = @val_1 + @val_2

select @val3



这时你会得到的结果为0000 x (在0000后有四个空格)。


解决方法二:将char 改为 varchar 也可以达到预期的目的。


◆2、用alter table 增加表结构时,虽然用sp_recompile tablename 重编译了所影响的数据库对象,但在运行某些包含"select * from tablename"的存储过程时,存储进程仍不认识用alter table 增加的列。例:



1> create table tmp(aa int,bb int)

2> go

1> create table b_tmp(aa int,bb int)

2>go

1> create proc tmpstore

2> as

1> insert b_tmp select * from tmp

2> return

3> go

1> alter table tmp add cc char(8) null

2> go

1> alter table b_tmp add cc char(8) null

2> go

1> sp_recompile tmp

2> go

1>insert tmp values(12,1234,"abcdefg")

2>go

1> exec tmpstore

2> go

1> select * from b_tmp

2> go

aa      bb      cc

----------- ------------- -------------

12      1234     NULL



为什么cc字段是NULL,而不是"abcdefg"? 用alter table 增加表结构后,包含"select * from tablename"的存储过程,用sp_recompile tablename 重编译仍不能使新增的列被存储过程所识别。解决办法只有一个:删了重建。

TOP

 

 
E世博http://www.bc678.info/ ESBALL六种方式来避免常见的陷阱退休规划
尽管意见,以无尽的鼓声“保存,保存,另存为退休,”大多数美国人说:“明天,明天,明天。”那么,明天变成今天,而更直接的优先事项继续推动长期规划未来了。
在最新的就业福利研究所的调查,56工人百分之报告说,他们的家庭的储蓄和投资,不包括其主要的家庭价值和任何界定福利计划,总价值不到25000美元,约百分之二十九表示,他们已经低于1000美元。这些数字都远不足以基金,即使是最温和的退休梦想。
真理是有储蓄,如此苗条,还有珍贵的错误小房间时,退休规划,因为人的巢卵不是一个安全网了。但未能攒够只是许多人的错误之一时作出的晚年规划。有一对退休规划失误的主机,可以使一个已经低于理想的情况更为严重。
这里的人们通常在出问题,以及他们如何可以调整课程,达到良好的财政状况看退休。
“退休消息不工作。大多数人没有毅力或财政支出的能力,放弃明天的朦胧的利益今天说,”索尔Nasisi,在E世博 ESBALL首席经济学家,提供有关银行的资料和信用合作社。 “相反,人们应该想建个人财富,这是一个持续的过程,并直接收益,而且还为人们提供了当他们决定停止工作。建设和积累财富是一个更强大,即时消息比退休储蓄。
修改信息改变了一想着储蓄和投资。 “建设财富是比退休储蓄更为积极的过程,它的好处是可以实现更快,”Nasisi补充道。虽然这可能只是一顶似乎语义转变,“建立财富在很大程度上是世界观和哲学。退休储蓄的问题是件苦差事,建立财富是一个挑战,”他说。

e世博 www.2688pk.com/bocairibo/Eshibo

Esball http://urlrank.info/open-esball.html
188bet http://urlrank.info/open-188bet.html
dafabet http://urlrank.info/open-dafabetl.html

bodog http://urlrank.info/open-bodog.html
pk989 http://urlrank.info/open-pk989.html
e世博www.2688pk.com/bocairibo/Eshibo

百胜滩 178game 伟易博 伟博娱乐 博九娱乐城 永胜博 K7娱乐城 开心8 智尊国际 乐博娱乐城 尊爵娱乐城 88娱乐城 多彩娱乐城 圣淘沙亚洲 马牌娱乐城 菲彩国际 菲E乐博 大赢家娱乐城 银河国际 牌九娱乐场 立即博 瑞丰国际 博客国际 爱赢娱乐 乐百家 三易博 博亿娱乐城 欧华娱乐立博 久盛国际 肯博 博狗娱乐 八大胜 易发国际 日博BET365 博士娱乐优博娱乐 爱拼娱乐城 太阳城亚洲 金宝博 12博 E世博 TT娱乐城 333娱乐 明升 乐天堂 E路发 鸿博 新利 利高娱乐城 奇乐吧,伟德 888真人 易胜博 其它娱乐 大发娱乐场 狮威娱乐 战神娱乐
同样,你不应该指望历史重演。 “你不能假设你会永远在你的投资得到相同的回报,”大卫史派德警告,一个E世博 ESBALL金融分析师,提供存款,货币市场利率和CD信息。 “不要以为你就可以击败30年的市场。”
401(k)是不是一个扑满。当然,这是你的钱,对你有好处,在你的雇主的参与计划 - 数量惊人的人甚至不这样做,认为他们不能忽视。希望你足够的贡献得到了免费的钱从公司的比赛的最高限额,如果你提供它。但是,从自己借款是一个坏主意。
“取之于退休计划的贷款可以看作一种方式来获得一个洞里出来的吸引力,但它实际上可以创造出更多的问题,”斯科特说哈利韦尔,注册理财规划师与USAA公司。 “这种策略消除了对这些基金的增长潜力,而且,如果你失去你的工作,无法偿还的资金,贷款将被视为一个分配和受税款和罚款。”
虽然它可能很方便,三思而后行留在计划中的退休基金,雇主在你离开这份工作。 “雇主计划已有限的投资选择。雇主使所有的决定,尽快。,大多数人应该滚成一个爱尔兰共和军雇主的退休基金,”建议氡斯坦西尔,一个多元化的物业服务认证的财务策划师。为此,您可以免税,一旦在一个退休帐户的资金,你的主人,所有的控制权。
已日益成为投资放在股票,债券或共同基金的资金的代名词。虽然这应该是一个积累财富方面,它不应是唯一的投资工具,也不应该一定是主要的投资工具,说Nasisi。要真正多元化,投资者应该着眼于房地产,企业投资,或者开始一个副业,他补充道。
www.2688pk.com  明升88
88娱乐城
www.2688pk.com 奇乐吧 www.2688pk.com  e世博 www.2688pk.com 瑞丰国际www.2688pk.com/bocairibo/yazhouyulechang 战神娱乐www.2688pk.com/bocairibo/yazhouyulechang
你必须在适当的地方把你的血汗钱。 “忘了崭新的宝马或最新的E世博 ESBALL,节省的钱并把它为你工作,说:”Nasisi。虽然这是一个非常令人钦佩的目标,以节省您的孩子的大学教育,事实上,有许多方法来支付大学学费。 “但到银行去的那天你退休并要求拿出退休贷款,”查理说龙,一个财务顾问的Exemplar金融网络。你明白了吧。
它也可以是一个错误,特别是在这种低利率的环境,说长,要还清低息抵押贷款,当这些资金可以用在别的地方。
要知道,当涉及到退休,你不能“即兴发挥。”斯蒂芬达库尼亚是认证的Baystate金融服务的财务规划师说,要记住五个P的:提前规划,防止表现不佳。你想要一个书面计划,包括了所有的财务目标分析,退休后的收入需要,保险,税务,投资和地产的计划,他补充道。然而,你的计划不能刻在石头上,并应定期监测。你需要一些你想要什么,为什么,和有形的E世博 ESBALL和你打算如何实现它的想法 - 否则,你怎么能指望达到你的目标是什么?

TOP

 
1/1页1 跳转到
发表新主题 回复该主题