B*****g 发帖数: 34098 | 1 WITH
FUNCTION get_domain(url VARCHAR2) RETURN VARCHAR2 IS
pos BINARY_INTEGER;
len BINARY_INTEGER;
BEGIN
pos := INSTR(url, 'www.');
len := INSTR(SUBSTR(url, pos + 4), '.') - 1;
RETURN SUBSTR(url, pos + 4, len);
END;
SELECT DISTINCT get_domain(catalog_url)
FROM product_information;
/ |
y****w 发帖数: 3747 | 2 新在哪儿?
【在 B*****g 的大作中提到】 : WITH : FUNCTION get_domain(url VARCHAR2) RETURN VARCHAR2 IS : pos BINARY_INTEGER; : len BINARY_INTEGER; : BEGIN : pos := INSTR(url, 'www.'); : len := INSTR(SUBSTR(url, pos + 4), '.') - 1; : RETURN SUBSTR(url, pos + 4, len); : END; : SELECT DISTINCT get_domain(catalog_url)
|
B*****g 发帖数: 34098 | 3 你又来BSO DB2了?这个是在SQL里写plsql
【在 y****w 的大作中提到】 : 新在哪儿?
|
y****w 发帖数: 3747 | 4 我还是没看懂.定义一个function,调一下?还是说动态的function?
【在 B*****g 的大作中提到】 : 你又来BSO DB2了?这个是在SQL里写plsql
|
c*****d 发帖数: 6045 | 5 一次性function
和以前的一次性table一样
【在 y****w 的大作中提到】 : 我还是没看懂.定义一个function,调一下?还是说动态的function?
|
y****w 发帖数: 3747 | 6 好吧。 这个写系统表不? 能被并发进程调用不? both no, right?
【在 c*****d 的大作中提到】 : 一次性function : 和以前的一次性table一样
|
B*****g 发帖数: 34098 | 7 等我试了再告诉你,嘿嘿
【在 y****w 的大作中提到】 : 好吧。 这个写系统表不? 能被并发进程调用不? both no, right?
|
c*****d 发帖数: 6045 | 8 我估计和一次性表一样的
【在 B*****g 的大作中提到】 : 等我试了再告诉你,嘿嘿
|
w*r 发帖数: 2421 | 9 making SQL more complicated than necessary. SQL is not for string parsing.
such function can easily implemented using plsql/udf etc. People who use
such feature will end up have migration/upgrade headache. it is prohibited
in production process until this is ANSI. |
y****w 发帖数: 3747 | 10 beijing是在说这个temporary function的功能,这个对developer有用,多少代码重用
。 我比较关心的是它对系统表的影响,进而是锁。
如果系统表照写,那就类似于动态语句生成function,用完了再删了。自己弄工作量也
不大,也可以做成通用的功能,比如一个sp或者function接受DDL输入,返回一个内部
sp/function的名字,后面用动态语句接着call。 或干脆就hard code名字。
【在 w*r 的大作中提到】 : making SQL more complicated than necessary. SQL is not for string parsing. : such function can easily implemented using plsql/udf etc. People who use : such feature will end up have migration/upgrade headache. it is prohibited : in production process until this is ANSI.
|
|
|
y****w 发帖数: 3747 | 11 这个,我喜欢,我坚持。 虽然我也喜欢fancy的新功能。
标准sql including recursive cte可以满足绝大多数要求并没有带来多少migration的
困难。
it is prohibited in production process until this is ANSI.
【在 w*r 的大作中提到】 : making SQL more complicated than necessary. SQL is not for string parsing. : such function can easily implemented using plsql/udf etc. People who use : such feature will end up have migration/upgrade headache. it is prohibited : in production process until this is ANSI.
|
B*****g 发帖数: 34098 | 12 这就是给developer临时用的,真要常用就去create一个function了。
【在 y****w 的大作中提到】 : 这个,我喜欢,我坚持。 虽然我也喜欢fancy的新功能。 : 标准sql including recursive cte可以满足绝大多数要求并没有带来多少migration的 : 困难。 : : it is prohibited in production process until this is ANSI.
|
y****w 发帖数: 3747 | 13 这是说一个方便的新功能 vs. 可能的migration. 这个功能要移植到话,就麻烦些,
等动态生成这个sp/function,处理临时名字/防止冲突。 考虑到并发调用,你要真弄成
普通sp/function那得仔细评估。
【在 B*****g 的大作中提到】 : 这就是给developer临时用的,真要常用就去create一个function了。
|
B*****g 发帖数: 34098 | 14 临时用就是临时用,用完就删了
【在 y****w 的大作中提到】 : 这是说一个方便的新功能 vs. 可能的migration. 这个功能要移植到话,就麻烦些, : 等动态生成这个sp/function,处理临时名字/防止冲突。 考虑到并发调用,你要真弄成 : 普通sp/function那得仔细评估。
|
B*****g 发帖数: 34098 | |