华为云用户手册

  • pg_shared_chunk_detail(contextname char(64)) 描述:查询指定共享内存下内存上下文申请的所有chunk信息。 参数contextname,表示内存上下文名称。 使用该函数需先使用pg_shared_chunk_dump(contextname char(64))函数将相关信息打印成文件。 返回值类型:record 示例: 12345678 SELECT * FROM pg_shared_chunk_detail('pgstat file hash table'); parent | level | file_name | line_number | chunk_size | requested_number | total_size ---------------------+-------+--------------+-------------+------------+------------------+------------ pgstat file context | 2 | dynahash.cpp | 158 | 2048 | 1 | 2048 pgstat file context | 2 | dynahash.cpp | 158 | 256 | 1 | 256 pgstat file context | 2 | dynahash.cpp | 158 | 4096 | 9 | 36864 pgstat file context | 2 | dynahash.cpp | 158 | 8192 | 4 | 32768(4 rows)
  • pg_shared_chunk_dump(contextname char(64)) 描述:将指定共享内存下内存上下文申请的所有chunk信息打印成文件。 参数contextname,表示内存上下文名称。 返回值类型:boolean 示例: 12345 SELECT * FROM pg_shared_chunk_dump('pgstat file hash table'); pg_shared_chunk_dump ---------------------- t(1 row)
  • pg_options_to_table(reloptions) 描述:获取存储选项名称/值对的集合。 返回类型:setof record 备注:pg_options_to_table当通过pg_class.reloptions或pg_attribute.attoptions时返回存储选项名字/值对(option_name/option_value)的集合。 示例: 1234567 CREATE TABLE customer_test( state_ID CHAR(2), state_NAME VARCHAR2(40), area_ID NUMBER)WITH (ORIENTATION = COLUMN,COMPRESSION=middle); 123456789 SELECT pg_options_to_table(reloptions) FROM pg_class WHERE relname='customer_test';pg_options_to_table---------------------- (orientation,column) (compression,middle) (bucketnums,16384) (colversion,2.0) (enable_delta,false)(5 rows)
  • pg_typeof(any) 描述:获取任何值的数据类型。 返回类型:regtype 备注: pg_typeof返回传递给他的值的数据类型OID。这可能有助于故障排除或动态构造SQL查询。声明此函数返回regtype,这是一个OID别名类型(请参考对象标识符类型);这意味着它是一个为了比较而显示类型名字的OID。 示例: 1 2 3 4 5 6 7 8 91011 SELECT pg_typeof(33); pg_typeof ----------- integer(1 row)SELECT typlen FROM pg_type WHERE oid = pg_typeof(33); typlen -------- 4(1 row)
  • collation for (any) 描述:获取参数的排序。 返回类型:text 备注: 表达式collation for返回传递给他的值的排序。示例: 12345 SELECT collation for (description) FROM pg_description LIMIT 1; pg_collation_for ------------------ "default"(1 row) 值可能是引号括起来的并且模式限制的。如果没有为参数表达式排序,则返回一个null值。如果参数不是排序的类型,则抛出一个错误。
  • pg_get_expr(pg_node_tree, relation_oid, pretty_bool) 描述:反编译表达式的内部形式,假设其中的任何Vars都引用第二个参数指定的关系。 返回类型:text 备注:pg_get_expr反编译一个独立表达式的内部形式,比如一个字段的缺省值。在检查系统表的内容的时候很有用。如果表达式可能包含关键字,则指定它们引用相关的OID作为第二个参数;如果没有关键字,设置为零即可。
  • pg_get_viewdef(viewname text [, pretty bool [, fullflag bool]]) 描述:为视图获取底层的SELECT命令。 返回类型:text 备注: pg_get_viewdef重构定义视图的SELECT查询。pretty bool参数为true时,显示格式“适合打印”,且该格式易读。pretty bool参数缺省值为false,显示格式不易读。如果用于转储,那么尽可能使用缺省格式。pretty bool参数只对有效视图生效。 fullflag bool参数为true时,显示视图的完整定义。其缺省值为false。
  • format_type(type_oid, typemod) 描述:获取数据类型的SQL名称。 返回类型:text 备注: format_type通过数据类型的类型OID以及可能的类型修饰词,返回其SQL名称。如果不知道具体的修饰词,则在类型修饰词的位置传入NULL。类型修饰词一般只对有长度限制的数据类型有意义。format_type所返回的SQL名称中包含数据类型的长度值,其大小是:实际存储长度len - sizeof(int32),单位字节。数据存储时需要32位的空间来存储用户对数据类型的自定义长度信息,即实际存储长度要比用户定义长度多4个字节。在下例中,format_type返回的SQL名称为“character varying(6)”,6表示varchar类型的长度值是6字节,因此该类型的实际存储长度为10字节。 12345 SELECT format_type((SELECT oid FROM pg_type WHERE typname='varchar'), 10); format_type ---------------------- character varying(6)(1 row)
  • pg_get_indexdef(index_oid, column_no, pretty_bool) 描述:获取索引的CREATE INDEX命令,或者如果column_no不为零,则只获取一个索引字段的定义。 返回类型:text 1 2 3 4 5 6 7 8 910 SELECT * FROM pg_get_indexdef(136035,0,false); pg_get_indexdef--------------------------------------------------------------------------------------------------------------- CREATE INDEX ds_ship_mode_t1_index1 ON tpcds.ship_mode_t1 USING psort (sm_ship_mode_sk) TABLESPACE pg_default(1 row)SELECT * FROM pg_get_indexdef(136035,1,false); pg_get_indexdef----------------- sm_ship_mode_sk(1 row)
  • pg_get_tabledef(table_oid) 描述:根据table_oid获取表定义。 返回类型:text 示例:先通过系统表pg_class获取表customer_t2的OID,再使用此函数查询表customer_t2的定义,可获取创建表customer_t2时的表字段,表的存储方式(行存或列存)及表的分布方式等信息。 1 2 3 4 5 6 7 8 910111213141516171819 select oid from pg_class where relname ='customer_t2'; oid------- 17353(1 row)select * from pg_get_tabledef(17353); pg_get_tabledef-------------------------------------------- SET search_path = dbadmin; + CREATE TABLE customer_t2 ( + state_id character(2), + state_name character varying(40), + area_id numeric + ) + WITH (orientation=column, compression=low)+ DISTRIBUTE BY HASH(state_id) + TO GROUP group_version1;(1 row)
  • pg_get_tabledef(table_name/table_oid, forCreate boolean,withColComm boolean) 描述:根据table_name获取表定义。该函数仅9.1.0.200及以上集群版本支持。 返回类型:text withColComment参数为true时,列字段的comment紧随对应字段显示。 withColComment参数为false时,列字段的comment显示在表定义内容的末尾。 示例: SELECT pg_get_tabledef('person',false,true); pg_get_tabledef ---------------------------------------------------- SET search_path = public; + CREATE TABLE person ( + id integer COMMENT '学号', + name character varying(25) COMMENT '姓名',+ address text COMMENT '地址' + ) + WITH (orientation=row, compression=no) + DISTRIBUTE BY ROUNDROBIN + TO GROUP group_version1;(1 row)SELECT pg_get_tabledef('person',false,false); pg_get_tabledef --------------------------------------------- SET search_path = public; + CREATE TABLE person ( + id integer, + name character varying(25), + address text + ) + WITH (orientation=row, compression=no) + DISTRIBUTE BY ROUNDROBIN + TO GROUP group_version1; + COMMENT ON COLUMN person.id IS '学号'; + COMMENT ON COLUMN person.name IS '姓名'; + COMMENT ON COLUMN person.address IS '地址';(1 row)
  • pg_get_indexdef(index_oid) 描述:获取索引的CREATE INDEX命令。 返回类型:text index_oid为索引的OID,可以通过PG_STATIO_ALL_INDEXES系统视图查询。 示例:查询索引ds_ship_mode_t1_index1的OID及其创建命令。 1 2 3 4 5 6 7 8 910 SELECT indexrelid FROM PG_STATIO_ALL_INDEXES WHERE indexrelname = 'ds_ship_mode_t1_index1'; indexrelid------------ 136035(1 row)SELECT * FROM pg_get_indexdef(136035); pg_get_indexdef--------------------------------------------------------------------------------------------------------------- CREATE INDEX ds_ship_mode_t1_index1 ON tpcds.ship_mode_t1 USING psort (sm_ship_mode_sk) TABLESPACE pg_default(1 row)
  • 包含和排除边界 每一个非空范围都有两个界限:下界和上界。这些值之间的所有点都被包括在范围内。包含界限意味着边界点本身也被包括在范围内,而排除边界意味着边界点不被包括在范围内。 在范围的文本形式中,包含下界用“[”表示,排除下界用“(”表示。同样,包含上界用“]”表示,排除上界用“)”表示。 函数lower_inc(anyrange)和lower_inc(anyrange)分别测试一个范围值的上下界。
  • 无限(无界)范围 范围的下界可以省略,这意味着所有小于上界的值都包括在范围中,例如(,3]。同样,范围的上界被省略,则所有大于下界的值都包括在范围中。如果下界和上界都被省略,则该元素类型的所有值都被认为在范围内。如果缺失的边界指定为包含则自动将包含转换为排除,例如[,]将转换为(,)。可以将这些缺失的值视为+/-无穷大,但它们是特殊的范围类型值,并且被视为超出任何范围元素类型的+/-无穷大值。 具有“无穷大”概念的元素类型可以将其作为显式边界值。例如,在时间戳范围,[today,infinity)不包括特殊的timestamp值infinity,尽管[today,infinity]包括它,就好比 [today,)和[today,]。 函数lower_inf(anyrange)和upper_inf(anyrange)分别测试一个范围的无限上下界。
  • 离散范围类型 离散范围是指其元素类型具有定义明确的“步长”的范围,如integer或date。在这些类型中,当两个元素之间没有有效值时,它们可以被说成是相邻。 离散范围类型的每个元素值都有一个明确的“下一个”或“上一个”值。这样就可以通过选择下一个或上一个元素值,在范围界限的包含和排除表达之间转换。例如,在整数范围类型中,[4,8]和(3,9)表示相同的值集合,但对于超过numeric的范围,情况并非如此。 离散范围类型应具有识别元素类型所需步长的规范函数。规范化函数负责将范围类型的等价值转换为具有相同的表示,特别是与包含或者排除界限一致。如果未指定规范化函数,则具有不同格式的范围将始终被视为不相等,即使它们实际上是表达相同的一组值。 内置范围类型int4range、int8range和daterange都使用规范形式,该形式包括下界并且排除上界,也就是[)。但是,用户定义的范围类型可以使用其他约定。
  • 范围的输入/输出 范围值的输入必须遵循下列模式之一: (lower-bound,upper-bound) (lower-bound,upper-bound] [lower-bound,upper-bound) [lower-bound,upper-bound] empty 圆括号或方括号指示上下界是否为排除的或者包含的。最后一个模式是empty,它表示一个空范围(一个不包含点的范围)。 lower-bound可以作为子类型的合法输入的一个字符串,或者是空,表示没有下界。同样,upper-bound可以是作为子类型的合法输入的一个字符串,或者是空,表示没有上界。 每个界限值可以使用双引号引用。如果界限值包含圆括号、方括号、逗号、双引号或反斜线时,则必须使用双引号引用,否则这些符号会被认作范围语法的一部分。要想把双引号或反斜线放在被引用的界限值中,需要在双引号或反斜线前面加一个反斜线(在双引号引用的界限值中的一对双引号表示一个双引号字符,这与SQL字符串中的单引号规则类似)。此外,可以避免引用并且使用反斜线转义来保护所有数据字符,否则它们会被当做返回语法的一部分。什么都不写则表示一个无限界限,因此,要表示空字符串的界限值,可以写成""。 范围值前后允许有空格,但是圆括号或方括号之间的任何空格会被当做上下界值的一部分(取决于元素类型,它可能是有意义的也可能是无意义的)。 示例 查询包括3,不包括7,并且包括3和7之间的所有点: SELECT '[3,7)'::int4range; int4range----------- [3,7)(1 row) 查询既不包括3也不包括 7,但是包括之间的所有点: SELECT '(3,7)'::int4range; int4range----------- [4,7)(1 row) 查询只包括单独一个点4: SELECT '[4,4]'::int4range; int4range----------- [4,5)(1 row) 查询不包括点(并且将被标准化为 '空'): SELECT '[4,4)'::int4range; int4range----------- empty(1 row)
  • 构造范围 每一种范围类型都有一个与其同名的构造器函数。使用构造器函数比写一个范围文字常数更方便,因为它避免了对界限值的额外引用。构造器函数接受两个或三个参数。两个参数的形式以标准的形式构造一个范围(包含下界,排除上界),而三个参数的形式按照第三个参数指定的界限形式构造一个范围。第三个参数必须是下列字符串之一: “()”、 “(]”、 “[)”或者 “[]”。 例如: 完整形式是:下界、上界以及指示界限包含性/排除性的文本参数: SELECT numrange(1.0, 14.0, '(]'); numrange------------ (1.0,14.0](1 row) 如果第三个参数被忽略,则假定为 '[)': SELECT numrange(1.0, 14.0); numrange------------ [1.0,14.0)(1 row) 尽管这里指定了'(]',单返回结果时该值将被转换成标准形式,因为int8range是一种离散范围类型: SELECT int8range(1, 14, '(]'); int8range----------- [2,15)(1 row) 界限使用NULL导致范围是无界的: SELECT numrange(NULL, 2.2); numrange---------- (,2.2)(1 row)
  • pg_get_functiondef(func_oid) 描述:获取函数的定义。 返回类型:text func_oid为函数的OID,可以通过PG_PROC系统表查询。 示例:查询函数justify_days的OID及其函数定义。 1 2 3 4 5 6 7 8 910111213141516 SELECT oid FROM pg_proc WHERE proname ='justify_days'; oid------ 1295(1 row)SELECT * FROM pg_get_functiondef(1295); headerlines | definition-------------+-------------------------------------------------------------- 4 | CREATE OR REPLACE FUNCTION pg_catalog.justify_days(interval)+ | RETURNS interval + | LANGUAGE internal + | IMMUTABLE STRICT NOT FENCED NOT SHIPPABLE + | AS $function$interval_justify_days$function$ + |(1 row)
  • 枚举类型的声明 枚举类型可以使用CREATE TYPE命令创建,例如: 1 CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy'); 枚举类型被创建后,可以在表和函数定义中使用: 12345678 CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy');CREATE TABLE person (name text, current_mood mood);INSERT INTO person VALUES ('Moe', 'happy');SELECT * FROM person WHERE current_mood = 'happy'; name | current_mood------+-------------- Moe | happy(1 row)
  • 枚举类型的安全性 每一种枚举数据类型都是独立的并且不能和其他枚举类型相比较。 1 2 3 4 5 6 7 8 9101112 CREATE TYPE happiness AS ENUM ('happy', 'very happy', 'ecstatic');CREATE TABLE holidays (num_weeks integer, happiness happiness);INSERT INTO holidays(num_weeks,happiness) VALUES (4, 'happy');INSERT INTO holidays(num_weeks,happiness) VALUES (6, 'very happy');INSERT INTO holidays(num_weeks,happiness) VALUES (8, 'ecstatic');INSERT INTO holidays(num_weeks,happiness) VALUES (2, 'sad');ERROR: invalid input value for enum happiness: "sad"SELECT person.name, holidays.num_weeks FROM person, holidays WHERE person.current_mood = holidays.happiness;ERROR: operator does not exist: mood = happiness 如果需要作比较,可以使用自定义的操作符或者在查询中加上显式类型: 123456 SELECT person.name, holidays.num_weeks FROM person, holidays WHERE person.current_mood::text = holidays.happiness::text; name | num_weeks------+----------- Moe | 4(1 row)
  • 参数概览 创建外表语法提供了多个参数,常用参数分类如下。 必需参数 table_name column_name type_name SERVER gsmpp_server OPTIONS可选参数 外表的数据源位置参数location 数据格式参数 format header(仅支持 CS V,FIXED格式) fileheader(仅支持CSV,FIXED格式) out_filename_prefix delimiter quote(仅支持CSV格式) escape(仅支持CSV格式) null noescaping(仅支持TEXT格式) encoding dataencoding (仅支持latin1数据库) eol conflict_delimiter file_type auto_create_pipe del_pipe gds_compress preserve_blanks(仅支持FIXED格式) blank_number_str_to_null 容错性参数 fill_missing_fields ignore_extra_data reject_limit compatible_illegal_chars replace_illegal_chars 性能参数 file_sequence 可选参数 WITH error_table_name LOG INTO error_table_name REMOTE LOG 'name' PER NODE REJECT LIMIT 'value'
  • 示例 创建外表customer_ft,用来以TEXT格式导入GDS服务器10.10.123.234上的数据: 1 2 3 4 5 6 7 8 9101112131415161718192021222324252627282930 CREATE FOREIGN TABLE customer_ft( c_customer_sk integer , c_customer_id char(16) , c_current_cdemo_sk integer , c_current_hdemo_sk integer , c_current_addr_sk integer , c_first_shipto_date_sk integer , c_first_sales_date_sk integer , c_salutation char(10) , c_first_name char(20) , c_last_name char(30) , c_preferred_cust_flag char(1) , c_birth_day integer , c_birth_month integer , c_birth_year integer , c_birth_country varchar(20) , c_login char(13) , c_email_address char(50) , c_last_review_date char(10)) SERVER gsmpp_server OPTIONS( location 'gsfs://10.10.123.234:5000/customer1*.dat', FORMAT 'TEXT' , DELIMITER '|', encoding 'utf8', mode 'Normal')READ ONLY; 创建外表foreign_HR_staffS_ft,用来以TEXT格式导入GDS服务器192.168.0.90和192.168.0.91上的数据,导入过程错误信息将记录到err_HR_staffS中。本次数据导入允许出现的数据格式错误个数为2。 1 2 3 4 5 6 7 8 91011121314 CREATE FOREIGN TABLE foreign_HR_staffS_ft( staff_ID NUMBER(6) , FIRST_NAME VARCHAR2(20), LAST_NAME VARCHAR2(25), EMAIL VARCHAR2(25), PHONE_NUMBER VARCHAR2(20), HIRE_DATE DATE, employment_ID VARCHAR2(10), SALARY NUMBER(8,2), COMMISSION_PCT NUMBER(2,2), MANAGER_ID NUMBER(6), section_ID NUMBER(4)) SERVER gsmpp_server OPTIONS (location 'gsfs://192.168.0.90:5000/* | gsfs://192.168.0.91:5000/*', format 'TEXT', delimiter E'\x08', null '',reject_limit '2') WITH err_HR_staffS_ft; 建立外表,用来以CSV格式导入input_data目录下存放在各个节点名文件下的所有文件。 1 2 3 4 5 6 7 8 91011121314 CREATE FOREIGN TABLE foreign_HR_staffS_ft1( staff_ID NUMBER(6) , FIRST_NAME VARCHAR2(20), LAST_NAME VARCHAR2(25), EMAIL VARCHAR2(25), PHONE_NUMBER VARCHAR2(20), HIRE_DATE DATE, employment_ID VARCHAR2(10), SALARY NUMBER(8,2), COMMISSION_PCT NUMBER(2,2), MANAGER_ID NUMBER(6), section_ID NUMBER(4)) SERVER gsmpp_server OPTIONS (location 'file:///input_data/*', format 'csv', quote E'\x08', mode 'private', delimiter ',') WITH err_HR_staffS_ft1; 建立外表,用来以CSV格式导出数据到output_data目录下。 1 2 3 4 5 6 7 8 91011121314 CREATE FOREIGN TABLE foreign_HR_staffS_ft2( staff_ID NUMBER(6) , FIRST_NAME VARCHAR2(20), LAST_NAME VARCHAR2(25), EMAIL VARCHAR2(25), PHONE_NUMBER VARCHAR2(20), HIRE_DATE DATE, employment_ID VARCHAR2(10), SALARY NUMBER(8,2), COMMISSION_PCT NUMBER(2,2), MANAGER_ID NUMBER(6), section_ID NUMBER(4)) SERVER gsmpp_server OPTIONS (location 'file:///output_data/', format 'csv', quote E'\x08', delimiter '|', header 'on') WRITE ONLY;
  • 语法格式 123456789 CREATE FOREIGN TABLE [ IF NOT EXISTS ] table_name ( [ { column_name type_name POSITION(offset,length) | LIKE source_table } [, ...] ] ) SERVER gsmpp_server OPTIONS ( { option_name ' value ' } [, ...] ) [ { WRITE ONLY | READ ONLY }] [ WITH error_table_name | LOG INTO error_table_name] [REMOTE LOG 'name'] [PER NODE REJECT LIMIT 'value'] [ TO { GROUP groupname | NODE ( nodename [, ... ] ) } ];
  • 注意事项 DROP TABLE会强制删除指定的表,删除表后,依赖该表的索引会被删除,而使用到该表的函数和存储过程将无法执行。删除分区表,会同时删除分区表中的所有分区。 只有表的所有者、模式所有者或者被授予了表的DROP权限的用户才能执行DROP TABLE,系统管理员默认拥有该权限。要清空指定表中的行但是不删除该表定义,可以使用TRUNCATE或者DELETE。 DROP对象操作(如DATABASE、USER/ROLE、SCHEMA、TABLE、VIEW等对象)存在数据丢失风险,尤其含带CASCADE级联删除场景,会将关联的对象一并删除,操作需谨慎,操作前需考虑数据备份。 更多开发设计规范参见总体开发设计规范。
  • 参数说明 IF EXISTS 如果指定的函数不存在,则发出一个notice而不是抛出一个错误。 function_name 要删除的函数名字。 取值范围:已存在的函数名。 argmode 函数参数的模式。 argname 函数参数的名称。 argtype 函数参数的数据类型。 CASCADE | RESTRICT CASCADE:级联删除依赖于函数的对象(比如操作符) 。 RESTRICT:如果有任何依赖对象存在,则拒绝删除该函数(缺省行为)。
  • 参数说明 OR REPLACE 当存在同名的存储过程时,替换原来的定义。 procedure_name 创建的存储过程名字,可以带有模式名。 取值范围:字符串,要符合标识符的命名规范。 argmode 参数的模式。 VARIADIC用于声明数组类型的参数。 取值范围: IN,OUT,INOUT或VARIADIC。缺省值是IN。只有OUT模式的参数后面能跟VARIADIC。并且OUT和INOUT模式的参数不能用在RETURNS TABLE的过程定义中。 argname 参数的名字。 取值范围:字符串,要符合标识符的命名规范。 argtype 参数的数据类型。 取值范围:可用的数据类型。 argname和argmode的顺序没有严格要求,推荐按照argname、argmode、argtype的顺序使用。 IMMUTABLE、STABLE等 行为约束可选项。各参数的功能与CREATE FUNCTION类似,详细说明见5.18.17.13-CREATE FUNCTION plsql_body PL/SQL存储过程体。 当在存储过程体中进行创建用户等涉及用户密码相关操作时,系统表及csv日志中会记录密码的明文。因此不建议用户在存储过程体中进行涉及用户密码的相关操作。
  • 语法格式 1 2 3 4 5 6 7 8 910111213141516 CREATE [ OR REPLACE ] PROCEDURE procedure_name [ ( {[ argmode ] [ argname ] argtype [ { DEFAULT | := | = } expression ]}[,...]) ] [ { IMMUTABLE | STABLE | VOLATILE } | { SHIPPABLE | NOT SHIPPABLE } | {PACKAGE} | [ NOT ] LEAKPROOF | { CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT } | {[ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER | AUTHID DEFINER | AUTHID CURRENT_USER} | COST execution_cost | ROWS result_rows | SET configuration_parameter { [ TO | = ] value | FROM CURRENT } ][ ... ] { IS | AS } plsql_body /
  • 注意事项 函数创建也适用于存储过程,更多内容请参考CREATE FUNCTION。 如果创建存储过程时参数或返回值带有精度,不进行精度检测。 创建存储过程时,存储过程定义中对表对象的操作建议都显示指定模式,否则可能会导致存储过程执行异常。 在创建存储过程时,存储过程内部通过SET语句设置current_schema和search_path无效。执行完函数search_path和current_schema与执行函数前的search_path和current_schema保持一致。 如果存储过程参数中带有出参,SELECT调用存储过程必须缺省出参,CALL调用存储过程适配Oracle,调用非重载函数时必须指定出参,对于重载的package函数,out参数可以缺省,具体信息参见CALL的示例。 存储过程指定package属性时支持重载。 在创建procedure时,不能在avg函数外面嵌套其他agg函数,或者其他系统函数。 在多个CN的集群中,不能将存储过程的入参或出参设置为临时表类型,因为在非当前连接CN上执行创建存储过程时,无法单独根据表名获取到正确的临时schema,进而无法获取到准确的表类型。 创建存储过程后查询定义时会返回CREATE FUNCTION的定义。 存储过程可以有多个返回值,也可以没有返回值。无返回值的存储过程调用后会有空的回显。 存储过程不支持分段提交。
  • 参数说明 IF EXISTS 如果指定的触发器不存在,则发出一个notice而不是抛出一个错误。 trigger_name 要删除的触发器名字。 取值范围:已存在的触发器。 table_name 要删除的触发器所在的表名称。 取值范围:已存在的含触发器的表。 CASCADE | RESTRICT CASCADE:级联删除依赖此触发器的对象。 RESTRICT:如果有依赖对象存在,则拒绝删除此触发器。此选项为缺省值。
  • 参数说明 IF EXISTS 如果指定的全文检索词典不存在,那么发出一个Notice而不是报错。 name 要删除的词典名称(可指定模式名,否则默认在当前模式下)。 取值范围:已存在的词典名。 CASCADE 自动删除依赖于该词典的对象,并依次删除依赖于这些对象的所有对象。 如果存在任何一个使用该词典的文本搜索配置,此DROP命令将不会成功。可添加CASCADE以删除引用该词典的所有文本搜索配置以及词典。 RESTRICT 如果任何对象依赖词典,则拒绝删除该词典。这是缺省值。
共100000条