由于轴上的空间限制(对数变换),我想仅在为连续序列显示中断时标记选择中断.当然以下导致错误:
scale_x_continuous(breaks=c(-10,0,10,20,30),labels=c(-10,0,10,30))
Error: breaks and labels have unequal lengths
Run Code Online (Sandbox Code Playgroud)
有没有办法解决这个问题?
在plpgsql函数中,如何将多行多列选入记录变量?
例如,我想将SELECT两列 (yearinteger和value) 的多个实例放入一个记录变量 ( yearvalues) 中。
*编辑 - 以下代码只是一个较长函数的一部分,我需要该变量yearvalues包含一个表中的多行和多列,我可以从中创建更多的变量
CREATE OR REPLACE FUNCTION fn_function ()
RETURNS TABLE () AS $$
DECLARE
year c.year%TYPE;
value c.value%TYPE;
yearvalues record;
BEGIN
FOR yearvalues IN
SELECT c.year, c.value FROM c
LOOP
END LOOP;
-- creation of additional variables from the yearvalues variable
END;
$$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud) 下面写的函数的 RAISE EXCEPTION 语句是否有等效(或解决方法)LANGUAGE sql?
CREATE OR REPLACE FUNCTION fn_interpolation (p_yearinteger integer,
p_admin_id integer, p_crop_id integer, p_cropparameter integer)
RETURNS TABLE (value double precision, remark text)
AS $$
WITH
yearvalues AS (SELECT yearinteger, value FROM cropvalues WHERE crops_id =
p_crop_id AND admin_id = p_admin_id AND parameter_id = p_cropparameter),
Run Code Online (Sandbox Code Playgroud)
如果输入到函数中的参数不存在,我需要该函数中止并返回错误消息。例如IF parameter_id != p_cropparameter THEN RAISE EXCEPTION ‘invalid cropparameter’ END IF