云服务器内容精选

  • generate_series(start, stop, step interval) 描述:生成一个数值序列,从start到stop,步长为step。 参数类型:timestamp或timestamp with time zone 返回值类型:setof timestamp或setof timestamp with time zone(与参数类型相同) 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 --这个示例应用于date-plus-integer操作符。 SELECT current_date + s.a AS dates FROM generate_series(0,14,7) AS s(a); dates ------------ 2017-06-02 2017-06-09 2017-06-16 (3 rows) SELECT * FROM generate_series('2008-03-01 00:00'::timestamp, '2008-03-04 12:00', '10 hours'); generate_series --------------------- 2008-03-01 00:00:00 2008-03-01 10:00:00 2008-03-01 20:00:00 2008-03-02 06:00:00 2008-03-02 16:00:00 2008-03-03 02:00:00 2008-03-03 12:00:00 2008-03-03 22:00:00 2008-03-04 08:00:00 (9 rows)
  • generate_series(start, stop, step) 描述:生成一个数值序列,从start到stop,步长为step。 参数类型:int、bigint、numeric 返回值类型:setof int、setof bigint、setof numeric(与参数类型相同) 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SELECT * FROM generate_series(5,1,-2); generate_series ----------------- 5 3 1 (3 rows) SELECT * FROM generate_series(4,6,-5); generate_series ----------------- (0 rows) SELECT * FROM generate_series(4,3,0); ERROR: step size cannot equal zero
  • generate_series(start, stop) 描述:生成一个数值序列,从start到stop,步长默认为1。 参数类型:int、bigint、numeric 返回值类型:setof int、setof bigint、setof numeric(与参数类型相同) 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 SELECT * FROM generate_series(2,4); generate_series ----------------- 2 3 4 (3 rows) SELECT * FROM generate_series(4,3); generate_series ----------------- (0 rows) SELECT * FROM generate_series(1,NULL); generate_series ----------------- (0 rows)
  • generate_series(start, stop, step) 描述:生成一个数值序列,从start到stop,步长为step。 参数类型:int、bigint、numeric 返回值类型:setof int、setof bigint、setof numeric(与参数类型相同) 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SELECT * FROM generate_series(5,1,-2); generate_series ----------------- 5 3 1 (3 rows) SELECT * FROM generate_series(4,6,-5); generate_series ----------------- (0 rows) SELECT * FROM generate_series(4,3,0); ERROR: step size cannot equal zero
  • generate_series(start, stop, step interval) 描述:生成一个数值序列,从start到stop,步长为step。 参数类型:timestamp或timestamp with time zone 返回值类型:setof timestamp或setof timestamp with time zone(与参数类型相同) 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 --这个示例应用于date-plus-integer操作符。 SELECT current_date + s.a AS dates FROM generate_series(0,14,7) AS s(a); dates ------------ 2017-06-02 2017-06-09 2017-06-16 (3 rows) SELECT * FROM generate_series('2008-03-01 00:00'::timestamp, '2008-03-04 12:00', '10 hours'); generate_series --------------------- 2008-03-01 00:00:00 2008-03-01 10:00:00 2008-03-01 20:00:00 2008-03-02 06:00:00 2008-03-02 16:00:00 2008-03-03 02:00:00 2008-03-03 12:00:00 2008-03-03 22:00:00 2008-03-04 08:00:00 (9 rows)
  • generate_series(start, stop) 描述:生成一个数值序列,从start到stop,步长默认为1。 参数类型:int、bigint、numeric 返回值类型:setof int、setof bigint、setof numeric(与参数类型相同) 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 SELECT * FROM generate_series(2,4); generate_series ----------------- 2 3 4 (3 rows) SELECT * FROM generate_series(4,3); generate_series ----------------- (0 rows) SELECT * FROM generate_series(1,NULL); generate_series ----------------- (0 rows)
  • 带索引的集合类型 该集合类型将下标和对应成员值以键值对的方式存储在HASH表中,对该类型变量的所有操作实际就是对HASH表的操作。用户无需自行扩展或释放存储空间,仅需通过赋值或delete方式进行存储和删除成员。集合相关操作、说明如下: 类型定义 索引集合类型定义需同时指定成员类型data_type和下标类型indexby_type,其中下标类型仅支持integer和varchar。 变量声明和初始化 索引集合类型声明后存在三种初始化场景:未初始化、初始化为空、初始化指定下标和成员值。其中未初始化和初始化为空场景对变量的效果一致。未初始化或初始化为空后变量不为NULL,后续都可以对变量直接进行赋值。初始化指定下标和成员值场景会将指定的下标和成员值以键值对的形式保存到变量中。 变量赋值 索引集合类型变量赋值分为两种:成员赋值和整体赋值。成员赋值可通过指定下标方式对某个成员赋值,若该成员不存在则直接赋值,若存在则刷新该成员值。整体赋值则会将被赋值变量中原有成员都清空后重新保存新的成员值。整体赋值场景不能给变量赋NULL值,否则报错。 变量取值 通过指定下标方式可获取变量中对应下标的成员值,若通过下标找不到该成员则会返回“no data found”的错误信息。 非兼容A模式下(参数sql_compatibility值不为A),不支持创建带索引集合类型。 支持在匿名块、存储过程、自定义函数、package中定义带索引集合类型,其作用域各不相同。不支持在schema中定义带索引集合类型。 NOT NULL只支持语法不支持功能。 当data_type为VARCHAR、NUMERIC等可以定义长度和精度的类型时,要校验集合的元素长度或者将元素转换成对应的精度,需要开启tableof_elem_constraints参数(设置behavior_compat_options参数值为tableof_elem_constraints)。CHAR、VARCHAR、NUMERIC、FLOAT和NUMBER等元素类型的范围约束语法创建集合类型,例如:“type t1 is table of numeric(5) index by int; ”只支持语法创建,不支持元素的范围约束功能,功能等同于“type t1 is table of numeric index by int;”。 data_type为数组类型时,数组类型的元素长度校验或精度转换也受参数tableof_elem_constraints是否开启影响。 通过数组类型转换成的集合类型的值不支持对元素长度校验或精度转换。 data_type可以为基础数据类型,或存储过程内定义的record类型,集合类型,数组类型,不支持ref cursor类型。 indexby_type仅支持INTEGER和VARCHAR。 indexby_type为varchar时,开启参数tableof_elem_constraints后在对带索引集合类型赋值时会校验index值的长度,校验行为不受char_coerce_compat参数是否开启影响,index长度大于定义长度则报错;不开启参数tableof_elem_constraints则不会对索引值进行长度校验。 未初始化的带索引集合类型变量非NULL。 带索引集合类型变量不能赋NULL值,否则报错。 带索引集合类型变量作为入参不能赋NULL值或''。 不同的带索引集合类型的变量不能相互赋值。即使成员类型和下标类型相同,但集合类型名称不同,也是不同的集合类型。如: TYPE t1 IS TABLE OF int index by int; 和 TYPE t2 IS TABLE OF int index by int; 定义的两个集合类型,t1和t2是不同的集合类型,以其定义的变量不支持相互赋值(作为成员类型时该约束不保证生效,赋值逻辑受父类型影响)。 带索引集合类型不支持关系运算和算数运算操作。 select ... bulk collect into 方式赋值带索引集合类型变量时,只支持下标为INTEGER类型的集合类型,下标为VARCHAR类型集合不支持。 支持带索引集合类型变量作为函数的参数和返回值,此时要求参数或者返回值的类型是在package中定义的集合类型。 带索引的集合作为函数入参时,可以传入对应子元素类型相同的数组类型作为入参,不支持多维数组,不支持索引数据类型为VARCHAR(过时的方法,不建议使用该功能。可执行“set behavior_compat_options = 'disable_rewrite_nesttable';”禁用)。 类型构造器目前仅支持集合类型,其参数个数的上限与用户自定义函数参数个数上限相同。对于带索引的集合类型,构造器在使用时索引的值仅支持为常量。 不支持对XML类型数据操作。 集合类型以及嵌套集合的类型不支持作为表中的一列来创建表。 集合类型的构造器不支持浮点数以及表达式作为下标。 在匿名块中定义的集合类型,匿名块执行ROLLBACK或发生EXCEPTION后,集合类型将无法继续使用。 执行set enable_recordtype_check_strict = on;后,成员是record类型,且record类型有列具有not null属性或defalut属性,在存储过程或PACKAGE编译时会报错。
  • generate_series(start, stop, step) 描述:生成一个数值序列,从start到stop,步长为step。 参数类型:int、bigint、numeric 返回值类型:setof int、setof bigint、setof numeric(与参数类型相同) 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SELECT * FROM generate_series(5,1,-2); generate_series ----------------- 5 3 1 (3 rows) SELECT * FROM generate_series(4,6,-5); generate_series ----------------- (0 rows) SELECT * FROM generate_series(4,3,0); ERROR: step size cannot equal zero
  • generate_series(start, stop, step interval) 描述:生成一个数值序列,从start到stop,步长为step。 参数类型:timestamp或timestamp with time zone 返回值类型:setof timestamp或setof timestamp with time zone(与参数类型相同) 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 --这个示例应用于date-plus-integer操作符。 SELECT current_date + s.a AS dates FROM generate_series(0,14,7) AS s(a); dates ------------ 2017-06-02 2017-06-09 2017-06-16 (3 rows) SELECT * FROM generate_series('2008-03-01 00:00'::timestamp, '2008-03-04 12:00', '10 hours'); generate_series --------------------- 2008-03-01 00:00:00 2008-03-01 10:00:00 2008-03-01 20:00:00 2008-03-02 06:00:00 2008-03-02 16:00:00 2008-03-03 02:00:00 2008-03-03 12:00:00 2008-03-03 22:00:00 2008-03-04 08:00:00 (9 rows)
  • generate_series(start, stop) 描述:生成一个数值序列,从start到stop,步长默认为1。 参数类型:int、bigint、numeric 返回值类型:setof int、setof bigint、setof numeric(与参数类型相同) 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 SELECT * FROM generate_series(2,4); generate_series ----------------- 2 3 4 (3 rows) SELECT * FROM generate_series(4,3); generate_series ----------------- (0 rows) SELECT * FROM generate_series(1,NULL); generate_series ----------------- (0 rows)
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token,使用Token鉴权方式时必选。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 模板组集合名称 description 否 String 模板组集合描述 template_group_list 是 Array of strings 模板组列表,模板ID
  • 请求示例 创建转码模板集合 POST https://{endpoint}/v1.0/{project_id}/asset/template-collection/transcodings Content-Type: application/json { "name": "test", "template_group_list": [ "780640dd1d584a6999b104568c358b78", "6a16d8d0161c42caa42b9c148d032871" ] }
  • 响应示例 状态码: 201 处理成功返回。 { "group_collection_id" : "f9b045e0811c482f9de0d436a5927bb6" } 状态码: 400 处理失败返回。 { "error_code" : "VOD.10053", "error_msg" : "The request parameter is illegal, illegal field: {xx}." }
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token,使用Token鉴权方式时必选。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。
  • generate_series(start, stop, step interval) 描述:生成一个数值序列,从start到stop,步长为step。 参数类型:timestamp或timestamp with time zone 返回值类型:setof timestamp或setof timestamp with time zone(与参数类型相同) 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 --这个示例应用于date-plus-integer操作符。 SELECT current_date + s.a AS dates FROM generate_series(0,14,7) AS s(a); dates ------------ 2017-06-02 2017-06-09 2017-06-16 (3 rows) SELECT * FROM generate_series('2008-03-01 00:00'::timestamp, '2008-03-04 12:00', '10 hours'); generate_series --------------------- 2008-03-01 00:00:00 2008-03-01 10:00:00 2008-03-01 20:00:00 2008-03-02 06:00:00 2008-03-02 16:00:00 2008-03-03 02:00:00 2008-03-03 12:00:00 2008-03-03 22:00:00 2008-03-04 08:00:00 (9 rows)