标签: insert

提示:表“table_a”中有一个名为“pma_timestamp”的列,但无法从这部分查询中引用它

我想使用用户定义的函数,以便在列中插入值时,我想通过引用同一表中的其他列来将月份的last_day 插入一列中。

我的代码是-

insert into table_A
(id,pma_timestamp,monthend)
values
(103,'2017-08-15',last_day(pma_timestamp));
Run Code Online (Sandbox Code Playgroud)

但出现错误:

提示:表“table_a”中有一个名为“pma_timestamp”的列,但无法从这部分查询中引用它

如何解决这个问题

postgresql insert

0
推荐指数
1
解决办法
3322
查看次数

使用 OPENJSON,无法获取 GROUP BY 结果

我将 JSON 字符串传递给存储过程以插入仓库库存。

有时,会有多个具有相同产品的订单项,在相同的货架上、相同的托盘 (LPN) 上、具有相同的日期。我想将它们汇总到表中的一行中。

JSON 表示已接收并存放到某个位置的各个行。这里有 2 个相同的项目:

[{"StockCode": "ABC123", "Qty": "200", "Bin": "E4B4_L", "LPN": "1234", "PutDate": "2022-01-21 18:35:53 UTC"}, {"StockCode": "ABC123", "Qty": "400", "Bin": "E4B4_L", "LPN": "1234", "PutDate": "2022-01-21 18:36:43 UTC"}]
Run Code Online (Sandbox Code Playgroud)

所以:

ABC | 200 |  2022-01-21 00:00:00.000 | LPN1234
ABC | 400 |  2022-01-21 00:00:00.000 | LPN1234
Run Code Online (Sandbox Code Playgroud)

应汇总为:

ABC | 600 |  2022-01-21 00:00:00.000 | LPN1234
Run Code Online (Sandbox Code Playgroud)

我尝试对数量进行 GROUP BY 和 SUM,但表中的结果行仍然是 2 个单独的行。我意识到由于时间戳的原因 PutDate 不一样,所以我认为肯定将其转换为 DATE 可以解决这个问题,但事实并非如此。

SQL脚本:

ALTER Procedure spc_PutAway
(@json NVARCHAR(MAX) = '')
AS …
Run Code Online (Sandbox Code Playgroud)

sql-server insert group-by json

0
推荐指数
1
解决办法
931
查看次数

postgres 存储过程中的 UPSERT

Postgres 已经有一种方法可以执行“upsert”,但我不喜欢发送这些长查询,我想知道它是否可以实现为一个存储过程,它将接受 json 并执行

INSERT INTO ... (keys)
  VALUES (values)
  ON CONFLICT DO UPDATE SET (setEverythingFromExcluded)
Run Code Online (Sandbox Code Playgroud)

我知道我可以以某种方式使用json_object_keysandjson_extract_path或直接使用json_each,但我最初的尝试毫无结果,所以也许有人已经这样做了?

postgresql insert update upsert

-1
推荐指数
1
解决办法
1329
查看次数

用值替换 NULL

这是我的临时表:

CREATE TABLE #test123(
    c1 float,
    c2 float,
    c3 float,
    c4 float,
    c5 float
);

INSERT #test123(c1,c2,c3,c4,c5)
VALUES (2,3,NULL,1,2),
       (2,NULL,NULL,1,2),
       (2,3,NULL,NULL,2),
       (NULL,3,NULL,1,NULL),
       (2,3,NULL,1,2);
Run Code Online (Sandbox Code Playgroud)

当我运行以下查询来替换第一列中的所有 NULL 时

INSERT INTO #test123 (c1) VALUES (ISNULL(c1,0));
Run Code Online (Sandbox Code Playgroud)

或者

INSERT INTO #test123 (c1) SELECT CASE WHEN c1 IS NULL THEN 0  END AS c1;
Run Code Online (Sandbox Code Playgroud)

我两次都收到错误“无效的列名 'c1'”。

的语法(来源INSERT INTO是:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...); 
Run Code Online (Sandbox Code Playgroud)

null sql-server insert replace isnull

-1
推荐指数
1
解决办法
53
查看次数

无法更新或插入数据到日期时间字段

我试图通过我正在开发的一个 Web 应用程序插入数据,但无法插入数据,在解决问题时,我发现即使直接通过 Microsoft SQL Server Management Studio 也无法编辑日期时间字段。

我正在尝试更新 SQL Server 2014 中的日期时间字段,但我收到了这个奇怪的错误

尝试更新日期时间字段时出错

我试图使第一行与第二行相同,但出现上述错误:

我如何尝试编辑数据

我有完全权限用户,我还可以编辑除日期时间类型列之外的所有其他列!

在这方面的任何帮助将更受欢迎。

这是列定义:

在此处输入图片说明

sql-server insert ssms update datetime

-2
推荐指数
1
解决办法
548
查看次数

查询的错误输出

使用以下查询时,我无法从 bnrcno 列中获取数据。

select 'insert into table values('||id||','||bnrcno||','||chargetype||','||domno||','||coa_id||','||liability_gl||','||revenue_gl||','||taxno||')' 
from bill_charges_map where  domno=5
Run Code Online (Sandbox Code Playgroud)

brcno列是整数类型,其中的大多数值都为空。

postgresql insert dynamic-sql

-2
推荐指数
1
解决办法
178
查看次数