鸟在笼中,恨关羽不能张飞;人处世上,要八戒更需悟空
用%ROWTYPE作声明的时候是不可以进行初始化赋值的,但是有两种方法可以一次性为所有字段赋值。 方法一:假如两个记录类型的声明引用了同一数据表或游标,那么它们就可以相互赋值,如:
但是,如果一个类型是引用的是数据表而另一个引用的是游标的话,那么,即使它们表现的内容相同,也是不能相互赋值的 dept_rec2 := dept_rec3; - - not allowed
因为此处的dept_rec2引用是表,而dept_rec3引用的是游标,所以即便它们查询的内容一样也 方法二:我们可以使用SELECT或FETCH语句将取得的数据赋给记录。但在表或视图中定义的字段名称顺序要与记录中的名称顺序相同。
但是,我们不能使用赋值语句来把字段列表中的值赋给记录。所以,下面的语法形式是不允许的: record_name := (value1, value2, value3, ...); -- not allowed 三、使用别名
从游标中取出的数据,如果游标定义中含有表达式时,我们就需要使用别名才能正确地为%ROWTYPE类型记录赋值:
posted on 2009-02-25 15:49 beyond 阅读(684) 评论(0) 编辑 收藏