动态SQL四种类型的语句格式

2016-01-29 16:31 0 1 收藏

动态SQL四种类型的语句格式,动态SQL四种类型的语句格式

【 tulaoshi.com - SQLServer 】

  1.Dynamic SQL Format 1

EXECUTE IMMEDIATE SQLStatement     {USING TransactionObject} ;

eg:
string            Mysql
Mysql = "CREATE TABLE Employee "&
    +"(emp_id integer not null,"&
    +"dept_id integer not null, "&
    +"emp_fname char(10) not null, "&
    +"emp_lname char(20) not null)"
EXECUTE IMMEDIATE :Mysql ;

2.Dynamic SQL Format 2

PREPARE DynamicStagingArea FROM SQLStatement     {USING TransactionObject} ;
EXECUTE DynamicStagingArea USING {ParameterList} ;

eg:
INT        Emp_id_var = 56
PREPARE SQLSA
    FROM "DELETE FROM employee WHERE emp_id=?" ;
EXECUTE SQLSA USING :Emp_id_var ;


3.Dynamic SQL Format 3

DECLARE Cursor | Procedure     DYNAMIC CURSOR | PROCEDURE      FOR DynamicStagingArea ;
PREPARE DynamicStagingArea FROM SQLStatement     {USING TransactionObject} ;
OPEN DYNAMIC Cursor     {USING ParameterList} ;
EXECUTE DYNAMIC Procedure    {USING ParameterList} ;
FETCH Cursor | Procedure     INTO HostVariableList ;
CLOSE Cursor | Procedure ;
eg:
integer Emp_id_var

DECLARE my_cursor DYNAMIC CURSOR FOR SQLSA ;
PREPARE SQLSA FROM "SELECT emp_id FROM employee" ;
OPEN DYNAMIC my_cursor ;
FETCH my_cursor INTO :Emp_id_var ;
CLOSE my_cursor ;


4.Dynamic SQL Format 4

DECLARE Cursor | Procedure     DYNAMIC CURSOR | PROCEDURE      FOR DynamicStagingArea ;
PREPARE DynamicStagingArea FROM SQLStatement    {USING TransactionObject} ;
DESCRIBE DynamicStagingArea    INTO DynamicDescriptionArea ;
OPEN DYNAMIC Cursor | Procedure    USING DESCRIPTOR DynamicDescriptionArea ;
EXECUTE DYNAMIC Cursor | Procedure    USING DESCRIPTOR DynamicDescriptionArea ;
FETCH Cursor | Procedure     USING DESCRIPTOR DynamicDescriptionArea ;
CLOSE Cursor | Procedure ;

eg:

string Stringvar, Sqlstatement
integer Intvar
Sqlstatement = "SELECT emp_id FROM employee"
PREPARE SQLSA FROM :Sqlstatement ;
DESCRIBE SQLSA INTO SQLDA ;
DECLARE my_cursor DYNAMIC CURSOR FOR SQLSA ;
OPEN DYNAMIC my_cursor USING DESCRIPTOR SQLDA ;
FETCH my_cursor USING DESCRIPTOR SQLDA ;

// If the FETCH is successful, the output
// descriptor array will contain returned
// values from the first row of the result set.
// SQLDA.NumOutputs contains the number of
// output descriptors.
// The SQLDA.OutParmType array will contain
// NumOutput entries and each entry will contain
// an value of the enumerated data type ParmType
// (such as TypeInteger!, or TypeString!).

CHOOSE CASE SQLDA.OutParmType[1]
CASE TypeString!
        Stringvar = GetDynamicString(SQLDA, 1)
    CASE TypeInteger!
        Intvar = GetDynamicNumber(SQLDA, 1)

END CHOOSE
CLOSE my_cursor ;
 

来源:https://www.tulaoshi.com/n/20160129/1498819.html

延伸阅读
标签: 化妆
腮红的作用主要是修正肤色与强调立体骨感的脸部轮廓,上妆时以不同角度画腮红,印象也会随之改变。 类型一、自然型 最基本的腮红画法 ①基本画法 常用的腮红涂抹方式,沿颧骨轮廓从耳部向鼻部自然淡开,再呈椭圆形反向刷。 ②应用 用米粉色提升自然感。适合椭圆形脸、菱形脸。 ...
问题: 我尝试在一个存储过程中传递一系列以逗号划定界限的值,以限制结果集。但是无论什么时候,我在IN子句中使用变量,都会得到错误信息。是否存在一种不执行动态SQL语句也能完成查询的方式呢? 专家解答: 这里存在一种不执行动态SQL语句也能完成查询的方式,但是首先让我们来探究这个问题。我将在以下例子中运用Advent...
标签: 面膜 护肤
贴片面膜 贴片面膜是什么? 贴片面膜是指直接能贴到面部的一种面膜,那么 贴片面膜如何敷 呢?这种面膜敷起来是非常简单的,撕开以后直接贴在面部。很多人都想知道 日本哪种面膜好用 ,其实日本的肌美精等面膜都是非常不错的,购买一千还是要多了解 如何选购面膜 。 现在用的最普遍的面膜莫属于贴片式了,它见效快,能迅速让肌肤水...
标签: 乌发 饮食养生
白头发吃什么好?四种类型白发调理食疗方法 怎样白发变黑发已经成为越来越多的人讨论的热门话题了。治疗白发说起来难,但如果找到正确的方法,吃正确的食物,就会变得很简单。想知道治疗白发变黑发以及治疗白发最好的方法吗?那就一起来看看吧。 拥有一头乌黑亮丽的头发会让你在爱情,事业及个人自信心上都有帮助,下面就来介...
了解Office2007四种文件类型   很多办公人员都在用Office2007进行书写文件,但是有时候会遇到无法打开某些文件类型的问题。现在让我们一起来了解Office2007支持的四种文件类型,方便大家对文件进行操作。 以前,只有两种 Word 文件类型:文档和模板(.doc 和 .dot)。 Word 2007 中有四种文件类型:.docx、.dotx、 .docm 和 ....

经验教程

387

收藏

34
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部