我将一个SQL语句插入到表中的两个日期,但我在具有不同SQL Server和设置语言的不同机器上使用它.有时'2017-01-04 00:00:00'是2017年4月1日,有时是2017年1月4日.我想要4月01日.
INSERT INTO [table] ([id], [value], [datefrom], [dateto])
SELECT
NEWID(), 3.5, '2017-01-04 00:00:00', '2027-01-05 00:00:00'
FROM
[settings]
Run Code Online (Sandbox Code Playgroud)
我可以SET LANGUAGE german;在脚本的开头使用,这个设置只对语句是临时的,不会永久改变语言吗?或者这不是一个好方法吗?请参阅下面的二手声明 提前致谢.
SET LANGUAGE german;
INSERT INTO [table]([id], [value], [datefrom], [dateto])
SELECT
NEWID(), 3.5, '2017-01-04 00:00:00', '2027-01-05 00:00:00'
FROM
[settings]
Run Code Online (Sandbox Code Playgroud) 我收到了错误
DELETE语句与REFERENCE约束FK_DocYDocument1冲突 - 表DocYDocument,列SubDocID - 语句:DELETE FROM DOCUMENT WHERE(ID =?)参数:'D7FAA3CF ...'
表DocYDocument包含列
PK ID, FK DocID and FK SubDocID.
And the keys PK_DocYDocument, FK_DocYDocument and FK_DocYDocument1.
Run Code Online (Sandbox Code Playgroud)
FK_DocYDocument1外键列是SubDocID,FK_DocYDocument外键列是DocID.
数据库设计有问题还是我要在程序中查找错误?
我想UPDATE在表中的一列,但在每一行中,必须WHERE有另一行依赖于另一个值。
这是表格的样子。
5 | PriceList | 349FDAFD34M
5 | Footer1 | 987IOXG376L
5 | Header1 | 12WQX954MIO
7 | PriceList | NULL
7 | Footer1 | NULL
7 | Header1 | NULL
Run Code Online (Sandbox Code Playgroud)
结果应该是这样。
5 | PriceList | 349FDAFD34M
5 | Footer1 | 987IOXG376L
5 | Header1 | 12WQX954MIO
7 | PriceList | 349FDAFD34M
7 | Footer1 | 987IOXG376L
7 | Header1 | 12WQX954MIO
Run Code Online (Sandbox Code Playgroud)
但是此显示的查询不起作用,因为它返回许多行,因此并不精确。
update cSC_BusinessUnit
set defaultguid …Run Code Online (Sandbox Code Playgroud) 有两个表Document和DocumentPos。在Document有列GUID和在DocumentPos是DocumentGUID指表的列Document。
我想让每一行都在
DocumentPos它DocumentGUID现在的行中Documents'GUID。
我有这个返回 0 行的查询:
select *
FROM Document d,
DocumentPos dp
WHERE d.GUID = dp.DocumentGUID
AND dp.DocumentGUID NOT IN (
SELECT d.GUID
FROM Document
)
Run Code Online (Sandbox Code Playgroud)
但是当我执行select * from documentpos它时,例如返回一行DocumentGUID= B479BCB72334424DAC1B7CC26880DAB8。这DocumentGUID是NOT IN表Document作为GUID.
但select * from Document where GUID = 'B479BCB72334424DAC1B7CC26880DAB8'返回 0 行。
我想像这样构建查询,因为它应该成为一个DELETE …