检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
/ --调用函数 CALL proc_forall(); --查询存储过程调用结果 SELECT * FROM hdfs_t1 WHERE title BETWEEN 100 AND 120; --删除存储过程和表 DROP PROCEDURE proc_forall; DROP
END; / CALL proc_case_branch(3,0); --删除存储过程 DROP PROCEDURE proc_case_branch; 父主题: GaussDB(DWS)存储过程控制语句
QUERY。其中,RETURN NEXT和RETURN QUERY只适用于函数,不适用存储过程。 RETURN 语法 返回语句的语法请参见图1。 图1 return_clause::= 对以上语法的解释如下: 用于将控制从存储过程或函数返回给调用者。 示例 1 2 3 4 5 6 7
dbms_output.put_line(first_name || ' ' || salary); END; / --调用存储过程 CALL dynamic_proc(); --删除存储过程 DROP PROCEDURE dynamic_proc; OPEN FOR 动态查询语句还可以使用OPEN
' ' || salary); END; / --调用存储过程 CALL dynamic_proc(); --删除存储过程 DROP PROCEDURE dynamic_proc; 父主题: GaussDB(DWS)存储过程动态语句
-- raises an error without the previous NULL END; / 父主题: GaussDB(DWS)存储过程控制语句
RAW类型的外部表现形式是十六进制,内部存储形式是二进制。例如一个RAW类型的数据11001011的表现形式为‘CB’,即在实际的类型转换中输入的是‘CB’。 UTL_RAW.CAST_FROM_BINARY_INTEGER 存储过程CAST_FROM_BINARY_INTE
ument将替换相对应的占位符。要注意的是,bind_argument只能是值、变量或表达式,不能是表名、列名、数据类型等数据库对象。如果存储过程需要通过声明参数传递数据库对象来构造动态SQL语句(常见于执行DDL语句时),建议采用连接运算符“||”拼接dynamic_selec
offset 要读取的字节数或者字符数量。 buffer 从开始位置偏移的字符数或者字节数量。 DBMS_LOB.TRIM 这个存储过程用于截断指定长度的LOB,执行完这个存储过程会将LOB的长度设置为newlen参数指定的长度。如果对一个空的LOB执行截断操作,不会有任何执行结果;如果指定
纳20000字节,缓冲区最小可设置为2000字节,若设置小于2000字节将按2000字节处理。 DBMS_OUTPUT.PUT_LINE 存储过程PUT_LINE向消息缓冲区写入一行带有行结束符的文本。DBMS_OUTPUT.PUT_LINE函数原型为: 1 2 DBMS_OUTPUT
该函数用来关闭一个游标,是dbms_sql各项操作的结束。如果在存储过程结束时没有调用该函数,则该游标占用的内存仍然会保存,因此关闭游标非常重要。由于异常情况的发生会中途退出存储过程,导致游标未能关闭,因此建议存储过程中有异常处理,将该接口包含在内。 DBMS_SQL.CLOSE_CURSOR函数原型为:
put_line(v_sum||'#'||v_num); RETURN; --返回语句 END; / --调用存储过程proc_return. CALL proc_return(); --清除存储过程 DROP PROCEDURE proc_staffs; DROP PROCEDURE proc_return;
填写出参。如果在存储过程中则需要用通过perform调用该接口函数。 表2 DBMS_JOB.SUBMIT接口参数说明 参数 类型 入参/出参 是否可以为空 描述 what text IN 否 要执行的SQL语句。支持一个或多个‘DML’,‘匿名块’,‘调用存储过程的语句’或3种混合的场景。
dbms_output.put_line(first_name || ' ' || salary); END; / --调用存储过程 CALL dynamic_proc(); --删除存储过程 DROP PROCEDURE dynamic_proc; OPEN FOR 动态查询语句还可以使用OPEN
dbms_output.put_line(first_name || ' ' || salary); END; / --调用存储过程 CALL dynamic_proc(); --删除存储过程 DROP PROCEDURE dynamic_proc; OPEN FOR 动态查询语句还可以使用OPEN
选择GaussDB(DWS)表存储模型 GaussDB(DWS)支持行列混合存储。当创建一个表时,可以选择表的存储格式为行存储或列存储。 行存储是指将表按行存储到硬盘分区上,列存储是指将表按列存储到硬盘分区上。默认情况下,创建的表为行存储。行存储和列存储的差异请参见图1。 图1 行存储和列存储的差异
选择GaussDB(DWS)表存储模型 GaussDB(DWS)支持行列混合存储。当创建一个表时,可以选择表的存储格式为行存储或列存储。 行存储是指将表按行存储到硬盘分区上,列存储是指将表按列存储到硬盘分区上。默认情况下,创建的表为行存储。行存储和列存储的差异请参见图1。 图1 行存储和列存储的差异
ument将替换相对应的占位符。要注意的是,bind_argument只能是值、变量或表达式,不能是表名、列名、数据类型等数据库对象。如果存储过程需要通过声明参数传递数据库对象来构造动态SQL语句(常见于执行DDL语句时),建议采用连接运算符“||”拼接dynamic_selec
table)数据的安全性。 【建议】临时表和非日志表的存储方式建议和基表相同。当基表为行存(列存)表时,临时表和非日志表也推荐创建为行存(列存)表,可以避免行列混合关联带来的高计算代价。 【建议】索引字段的总长度不超过50字节。否则,索引大小会膨胀比较严重,带来较大的存储开销,同时索引性能也会下降。 【
ument将替换相对应的占位符。要注意的是,bind_argument只能是值、变量或表达式,不能是表名、列名、数据类型等数据库对象。如果存储过程需要通过声明参数传递数据库对象来构造动态SQL语句(常见于执行DDL语句时),建议采用连接运算符“||”拼接dynamic_selec