CUBRID学习笔记 46 PREPARED set Do

时间:2023-12-21 23:28:02

cubrid的中sql查询语法PREPARED set Do

c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息。本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com 。 过错
------ 官方文档是英文的,看不明白可以参看ocracle的同类函数说明.很多都是一样的.

PREPARED
类似于存储过程,在csql中使用,不要在应用程序中使用
定义
PREPARE stmt_name FROM preparable_stmt
执行
EXECUTE stmt_name [USING value [, value] ...]
删除
{DEALLOCATE | DROP} PREPARE stmt_name

set 没什么可说的
SET @v1 = 1, @v2=CAST(1 AS BIGINT), @v3 = '123', @v4 = DATE'2010-01-01';

SELECT typeof(@v1), typeof(@v2), typeof(@v3), typeof(@v4);
typeof(@v1) typeof(@v2) typeof(@v3) typeof(@v4)
======================================================================================
'integer' 'bigint' 'character (-1)' 'character varying (1073741823)
The user-defined variables can be changed when you define values.

SET @v = 'a';
SET @v1 = 10;

SELECT @v := 1, typeof(@v1), @v1:='1', typeof(@v1);
@v := 1 typeof(@v1) @v1 := '1' typeof(@v1)
======================================================================================
1 'integer' '1' 'character (-1)'

SET @a = 0;
在sql语句里(不是定义变量的部分)使用:=
SELECT @a := @a+1 AS row_no, i FROM t;

还可以这样定义删除变量
DEALLOCATE VARIABLE @a, @user_defined_variable;
DROP VARIABLE @a, @user_defined_variable;

do 执行表达式,但是他不返回结果.
DO 1+1;
DO SYSDATE + 1;
DO (SELECT count(*) FROM athlete);

这个方式执行,速度比直接select快.因为它不返回结果和错误.