社区
数据库相关
帖子详情
请问Dynamic中的第四种格式(方法)怎么用
德傲道
2005-05-10 06:01:34
请问Dynamic中的第四种格式(方法)怎么用?尤其是其中对过程的使用?最好能给个实例^_^
...全文
99
3
打赏
收藏
请问Dynamic中的第四种格式(方法)怎么用
请问Dynamic中的第四种格式(方法)怎么用?尤其是其中对过程的使用?最好能给个实例^_^
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
德傲道
2005-05-11
打赏
举报
回复
哈,先谢谢cuixuf(A4〓小小小小刀〓(...---...)) 啦,不过可能是我没有说清楚,我要用的格式确实是你说的这种格式,pb帮助中也是这么说的,但是,pb帮助中和你所说的内容中,没有一个动态执行过程的例子,你们所说的都是sql查询语句,不是么?
吹雪风
2005-05-10
打赏
举报
回复
原文CSDN上也有:
http://search.csdn.net/Expert/topic/216/216844.xml?temp=.7718317
吹雪风
2005-05-10
打赏
举报
回复
五、动态SQL 格式四
这是一种全动态的SQL 语句。全动态的SQL 语句是指这样的语句:在写程序时并不知道SELECT语句的选择项是什么或有多少个,也不知道SQL语句中包含了多少个变量,它们是变化的。全动态SQL支持临时生成的SQL。全动态SQL实现起来很复杂,也很有用,下面我们将详细讲述。语法如下:
DECLARE Cursor | Procedure
DYNAMIC CURSOR | PROCEDURE FOR DynamicStagingArea;
PREPARE DynamicStagingArea FROM SQLStatement
{ USING TransactionObject };
DESCRIBE DynamicStagingArea INTO DynamicDescriptionArea;
OPEN DYNAMIC Cursor | Procedure
USING DESCRIPTION DynamicDescriptionArea;
EXECUTE DYNAMIC Cursor | Procedure
USING DESCRIPTION DynamicDescriptionArea;
FETCH Cursor | Procedure USING DESCRIPTION DynamicDescriptionArea;
CLOSE Cursor | Procedure ;
其中,Cursor或Procedure 是要使用的游标或过程名;DynamicStagingArea是DynamicStagingArea变量名(一般为SQLSA);SQLStatement 是包含合法SQL语句的字符串,它可以是字符串常量或前面带有冒号的PowerBuilder字符串变量,它必须包含在一行且不能包括表达式;TransactionObject是指向数据库的事物对象名。DynamicDescriptionArea 是DynamicDescriptionArea 变量名(一般为SQLDA)。
可以用以下方法设置在PREPARE语句中出现的每个输入参数的类型和值。PowerBuilder在 DESCRIBE运行时可取得SQLDA的属性NumInputs(可得到输入参数个数)和InParmType(可得到输入参数类型),可用这些值和函数SetDynamicParm给输入参数的类型和值赋值。输入参数是任选的,若要使用它们,应在运行OPEN或EXECUTE语句之前给它们赋值。
可以用以下方法取得PREPARE语句中的每个输出参数的类型和值。如果使用的数据库支持输出参数描述,PowerBuilder应用可在DESCRIBE语句执行时取得SQLDA的NumOutputs值;若数据库不支持输出参数描述,PowerBuilder应用可在FETCH语句执行时取得SQLDA的NumOutputs值。可用输出参数的号码(NumOutputs)从输出参数类型(OutParmType)数组中获得特定参数的类型。得到类型后,在FETCH语句后可调用恰当的函数取出输出值。
下面是一个使用动态SQL格式四的例子,此例有一个字符串输入参数,但输出参数的类型和个数不定。
string ls_sql,ls_val
integer i,li_boolean
ls_sql="SELECT * FROM auths WHERE auths_id=?"
DECLARE c1 DYNAMIC CURSOR FOR SQLSA;
PREPARE SQLSA FROM :ls_sql;
DESCRIBE SQLSA INTO SQLDA;
//若DESCRIBE成功,则输入描述符数组将包含一个输入描述符,
//在打开游标前必须先给输入描述符赋值。
SetDynamicParm(SQLDA,1,’A00001’) //这里的“1”表示第一个参数
OPEN DYNAMIC c1 USING DESCRIPTOR SQLDA;
lable:
FETCH c1 USING DESCRIPTOR SQLDA;
IF SQLCA.SQLCODE=0 THEN //若FETCH成功
FOR i=1 to SQLDA.NumOutputs
//SQLDA.NumOutputs含有输出参数的个数
CHOOSE CASE SQLDA.OutParmType[i]
CASE TypeString!
ls_val=GetDynamicString(SQLDA,i)
CASE TypeDate!
ls_val=string(GetDynamicDate(SQLDA,i),’dd mm yyyy’)
CASE TypeTime!
ls_val=string(GetDynamicTime(SQLDA,i),’hh:mm:ss’)
CASE TypeDataTime!
ls_val=string(GetDynamicDateTime(SQLDA,i),&
’dd mm yyyy hh:mm:ss’)
CASE TypeInteger!,TypeLong!,TypeDecimal!,TypeDouble!,TypeReal!
ls_val=string(GetDynamicNumber(SQLDA,i))
CASE TypeBoolean!
li_boolean=GetDynamicNumber(SQLDA,i)
IF li_boolean=1 THEN
ls_val="TRUE"
ELSE
ls_val="FALSE"
END IF
END CHOOSE
…… //进行相应处理
NEXT
GOTO lable //取下一条记录
ENF IF
CLOSE c1;
格式四适合于所有子句都不确定的SELECT语句,这是最有用的一种动态SQL。
【innodb阅读笔记】之 行
格式
(
Dynamic
)
Innodb 1.0 版本开始引入了新的行
格式
dynamic
,新的行
格式
在存放 blob
中
的数据采用了完全行溢出的方式,在数据页
中
只存放 20 字节的指针,实际数据都存放在 Off page
中
,而 compact 会存放 768 个前缀字节。
c语言
dynamic
变量,C#
dynamic
关键字的使用
方法
dynamic
和var的区别:1.var声明一个局部变量只是一种简化语法,它要求编译器根据一个表达式推断具体的数据类型。2.var只能用于声明
方法
内部的局部变量,而
dynamic
可用于局部变量,字段,参数。3.表达式不能转型为var,但能转型为
dynamic
。4.必须显式初始化用var声明的变量,但无需初始化用dynam声明的变量。使用
dynamic
应注意:在运行时,Microsoft.Cshar...
C#
中
dynamic
类型应用指南:解锁编程灵活性
在C#
中
,
dynamic
类型是一种特殊的类型,它允许在编译时绕过静态类型检查。这意味着开发者可以在不知道对象的具体类型的情况下,对其进行操作,而具体的类型检查则推迟到运行时进行。定义
dynamic
类型是C# 4.0引入的一种类型,它本质上是一个特殊的对象类型。当一个变量被声明为
dynamic
时,编译器不会对它进行类型检查,而是将所有的类型检查和
方法
调用推迟到运行时。这使得
dynamic
类型在处理动态类型数据时非常灵活。作用动态类型调用
dynamic
。
InnoDB行
格式
解析:
DYNAMIC
为何是性能王者
MySQL InnoDB行
格式
决定了数据在磁盘上的存储方式,直接影响存储空间、查询性能和I/O效率。MySQL 8.0提供四种行
格式
:冗余(REDUNDANT)、紧凑(COMPACT)、动态(
DYNAMIC
)和压缩(COMPRESSED)。其
中
DYNAMIC
是默认推荐
格式
,采用智能溢出存储策略,将大字段完全移出主页,保留20字节指针,显著提升索引效率。COMPRESSED在
DYNAMIC
基础上增加数据压缩功能,适合大表场景。建议新项目优先使用
DYNAMIC
,避免使用过时的REDUNDANT
格式
。可通过CRE
C++四种类型转换 static_cast , reinterpret_cast ,const_cast ,
dynamic
_cast
介绍C++的四种类型转换,static_cast ,printerpret_cast,const_cast,
dynamic
_cast
数据库相关
754
社区成员
12,762
社区内容
发帖
与我相关
我的任务
数据库相关
PowerBuilder 数据库相关
复制链接
扫一扫
分享
社区描述
PowerBuilder 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章