postgresql - 如何在 Postgres 和 NPGSQL 中做
问题描述
添加表
create table mytable( id varchar(6), name varchar(65));
添加功能
create or replace function sc_app.mytable_insert (
inname varchar(35)
)
returns varchar
as
$$
declare
vmaxid varchar := null;
begin
-- Get the MAX
SELECT 'G' || ltrim(to_char(to_number(substr(coalesce(max(id), 'G00000'), 2), '99999') + 1, '00000'))
INTO vmaxid
FROM sc_app.mytable;
insert into mytable (
id,
name
) values (
vmaxid,
inname
);
return vmaxid;
EXCEPTION
WHEN OTHERS THEN
RAISE NOTICE '%%%', SQLSTATE || ' - ' || SQLERRM;
end;
$$
LANGUAGE plpgsql;
SQL
Select mytable_insert('OUR NAME');
返回值
G00025
npgsql
如何使用 npgsql 和 C# 将 G00025 返回给用户。
使用 Postgres 11 和 npgsql 4.7。
解决方案
推荐阅读
- flutter - 用其他小部件替换网格的第一个元素
- java - Thymeleaf 和 ITextRenderer 将 HTML 转换为 PDF
- debian - Debian 10.7 中的 libnetcdf.so.18
- discord.py - discord.py 在类中找不到命令
- mysql - 如何从食谱中检索所有成分信息
- java - 查找数组中的所有匹配元素 - Java
- scikit-learn - 有什么方法可以将输入向量化为 sgdclassifier?
- discrete-mathematics - 从离散数学 - 图论
- angular - 开玩笑:nativeElement.getBoundingClientRect 不是函数
- python - 构造函数调用中的Python意外关键字参数