多项选择题

下列关于动态SQL的叙述中,哪些是正确的

A.动态SQL允许在程序的执行过程中临时生成并执行SQL语句
B.动态SQL有两种执行方式:立即执行方式和先准备后执行方式
C.在程序中需要多次执行同一个动态SQL语句时,也必须每次执行前都要先准备
D.SQL标准引入动态SQL的原因是由于静态SQL语句不能编程
E.在编写程序时若SQL语句是未知的或部分未知的,需要使用动态SQL机制