我不明白为什么我不能插入这个.我无法发现问题.从字符串转换为uniqueidentifier时,错误消息是 转换失败.
GUID是我从其他表中选择时得到的.
insert into [db].[dbo].[table] (myid,friendid,time1,time2) values
( CONVERT(uniqueidentifier,'0C6A36BA-10E4-438F-BA86-0D5B68A2BB15'),
CONVERT(uniqueidentifier,'DF215E10-8BD4-4401-B2DC-99BB03135F2E'),
'2014-01-05 02:04:41.953','2014-01-05 12:04:41.953')
Run Code Online (Sandbox Code Playgroud)
我使用SQL Server 2012
列是
id uniqueidentifier,
myid uniqueidentifier,
friendid uniqueidentifier,
time1 datetime nullable,
time2 datetime nullable
Run Code Online (Sandbox Code Playgroud) 什么是正确的语法
count (distinct *) from t1
Run Code Online (Sandbox Code Playgroud)
我得到他跟随错误:
[Err] 42000 - [SQL Server]关键字'distinct'附近的语法不正确.
我们的postgres数据文件夹安装在空间有限的驱动器上.我现在正试图将它移动到新安装的驱动器(更多空间).我已经关注了几篇博文,他们都说......
该服务启动,但当我去连接时,它给我"无法连接到服务器:连接被拒绝"
我尝试telnet到端口5432,没有.
以下是我一直在尝试的链接:http://www-01.ibm.com/support/docview.wss? uid = swg21324272
我正在使用SQL Server 2008 Express Edition.
我想用这段代码创建一个序列:
CREATE SEQUENCE Postoffice_seq
AS bigint
START WITH 1
INCREMENT BY 1
MINVALUE 0
NO MAXVALUE;
Run Code Online (Sandbox Code Playgroud)
而错误是
消息343,级别15,状态1,行1
在CREATE,DROP或ALTER语句中使用的未知对象类型"SEQUENCE".
谁能帮我?
最好的祝福!
我有一个一般的数据库设计问题。
我在数据库中有一个表,其中某个字段在插入时应始终具有值 0。将此字段更改为 0 以外的任何值涉及某些操作,这些操作是通过更新触发器强制执行的。如果没有执行适当的业务规则,值为 0 的记录是无用的数据。
我正在考虑在插入时创建一个替代触发器,以强制您不能使用 0 以外的任何值将记录插入到该表中。这不是真正必要的,因为用户只能通过存储过程访问数据库,并且目前唯一的 INSERT 过程将此值设置为默认值,即 0。这也不是一种安全措施,因为在我们的系统中,只有 SA 是特权用户,如果用户以某种方式获得了 SA 密码,他们可以做任何他们想做的事反正想要
我能想到的唯一用途是确保即使在将来,开发人员也不会意外地允许将值插入此字段而不会绊倒触发器,这确实是一个测试工具。
DBA 如何处理这样的事情?您是否有特定于测试系统的触发器和约束,它们不部署到生产服务器?您是否将这些触发器留在生产服务器上,作为强制执行完整性的额外措施?
我一直在挖掘 Jasper 文档,但找不到答案。
目前,对于我们的报告,我们有一个简单的输入控件 Date。当这个启动时,我得到了一个日期控制,在底部,我得到了一系列无用的按钮选择......
应用、确定、重置、取消、保存
谁能帮我把这些删除?只想要确定和取消。我查看了 DefaultParametersForm.jsp,但很难在那里找到任何有用的东西。我是一名业余jsp程序员。
我已经构建了一个存储过程:
CREATE PROCEDURE dbo.sp_orders_by_dates
@start_date datetime,
@end_date datetime
AS
SELECT
order_id,
orders.customer_id,
customers.name,
shippers.name,
shipped_date
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id
INNER JOIN shippers ON orders.shipper_id = shippers.shipper_id
WHERE shipped_date BETWEEN @start_date AND @end_date
Run Code Online (Sandbox Code Playgroud)
当我使用以下方法执行程序时:
EXECUTE sp_customer_city 'January 1, 2003', 'June 30, 2003'
Run Code Online (Sandbox Code Playgroud)
我收到:
Msg 8144, Level 16, State 2, Procedure sp_customer_city, Line 0
Procedure or function sp_customer_city has too many arguments specified.
Run Code Online (Sandbox Code Playgroud)
我没有正确指定此过程可以采用两个参数吗?
我有以下SQL查询
SELECT MAX(averageSales)
FROM (
SELECT AVG(TotalSale) AS averageSales
FROM [Practice].[dbo].[Sales]
GROUP BY CAST(SalesPerson AS NVARCHAR(100))
) AS Query1;
Run Code Online (Sandbox Code Playgroud)
我得到结果,250
但我想显示结果为250.0000
.我已经查看RIGHT
并LEFT
运行SQL,但还没有弄明白.averageSales的数据类型是int.
我也尝试了以下方法
SELECT
MAX(averageSales),
CAST(MAX(averageSales) AS decimal(4,4))
FROM (
SELECT AVG(TotalSale) AS averageSales
FROM [Practice].[dbo].[Sales]
GROUP BY CAST(SalesPerson AS NVARCHAR(100))
) AS Query1;
Run Code Online (Sandbox Code Playgroud)
但这会导致
将int转换为数据类型numeric的算术溢出错误.
所以我有一个由即时消息应用程序自动生成的表,我正在寻找所有用户发送的所有消息.每个对话都有一个"到"列,问题是它在末尾附加了一个短连接字符串.所以to列看起来像:username @ company.com/id 1111
我希望得到所有不同的用户名和它们出现的次数.任何建议表示赞赏.我正在使用PostgreSQL 9.1.1