我想创建一个sql函数,它将返回任何具有某个coulmn值的行,该值大于或等于用户输入的数字。 我正在使用PL / SQL开发人员,oracle sql。
例如,这是表格:
MyTable
id name
5 Zack
4 David
3 Mike
因此,如果用户的输入为4,他将收到此表:
id name
5 Zack
4 David
答案 0 :(得分:1)
也许你需要表函数。 例如:
create table MyTable(id, name) as (
select 5, 'Zack' from dual union
select 4, 'David' from dual union
select 3, 'Mike' from dual
);
/
CREATE TYPE t_record AS OBJECT (
num NUMBER,
string VARCHAR2(50)
);
/
CREATE TYPE t_table IS TABLE OF t_record;
/
CREATE OR REPLACE FUNCTION get_table (pN IN NUMBER) RETURN t_table AS
vReturn t_table;
BEGIN
SELECT t_record(id, name)
bulk collect into vReturn
from myTable
where id <= pN;
RETURN vReturn;
END;
/
此
select *
from table(get_table(4))
给出:
NUM STRING
---------- --------------------------------------------------
3 Mike
4 David
答案 1 :(得分:0)
select id,name from MyTable where id>=(select id from MyTable)/*imagining using subquery user can give input/*
答案 2 :(得分:0)
你可以这样做。
"SELECT * FROM MyTable where id>= "userInput;
希望它有所帮助。