-
tsql – T-SQL:在OUTPUT子句中插入原始值
所属栏目:[MsSql教程] 日期:2020-12-12 热度:52
我有一个表ItemID(ItemID,Name,…),其中ItemID是自动生成的身份 我想在这个表中添加行FROM select在同一个表上. 并将原始ItemID和NewlyGeneratedID之间的引用保存到表变量中. 所以我想让它看起来如下: DECLARE @ID2ID TABLE (OldItemID INT,NewItemID INT);I[详细]
-
SQL包含条件在Where if not not null
所属栏目:[MsSql教程] 日期:2020-12-12 热度:144
在访问中,我一直在尝试在子表单中显示的内容上设置用户过滤器,子表单是检查列表.我尝试过的其他方法没有工作,但我已经成功使用下面的代码,如果用户填写任何其他过滤器选项,它将过滤.我能弄清楚的是如何让它接受多个过滤器,除非我拼写出每个可能的盒子组合 那[详细]
-
sql – Oracle相当于ROWLOCK,UPDLOCK,READPAST查询提示
所属栏目:[MsSql教程] 日期:2020-12-12 热度:84
在SQL Server中,我在查询中使用了以下提示: rowlock(行级锁定) updlock(防止脏读) readpast(不要阻塞等待行锁,转到第一个未锁定的行) 例如 select top 1 data from tablez with (rowlock,updlock,readpast); Oracle是否有等效的查询提示? 解决方法 ROWLOCK[详细]
-
sql-server – Microsoft SQL Server Management Studio – 具有
所属栏目:[MsSql教程] 日期:2020-12-12 热度:196
当锁等待超过60秒时,我们想要发出警报.以下警报脚本按预期执行. 但是我们希望有更多的信息,例如锁定的会话ID,锁定状态,登录名等. 有没有办法把这个包含在@notification_message中? USE [msdb]GOEXEC msdb.dbo.sp_update_alert @name=N'Total Lock Wait Time[详细]
-
.net – 使用不同算法的UUID碰撞风险
所属栏目:[MsSql教程] 日期:2020-12-12 热度:100
我有一个数据库,其中2个(或3或4个)不同的应用程序正在插入信息.新信息具有GUID / UUID类型的ID,但每个应用程序正在使用不同的算法来生成ID.例如,一个是使用NHibernate的“guid.comb”,另一个是使用SQLServer的NEWID(),其他人可能想使用.NET的Guid.NewGuid()实[详细]
-
在SQL中检测循环引用
所属栏目:[MsSql教程] 日期:2020-12-12 热度:105
我有下表: CREATE TABLE X ( A SOMETYPE NOT NULL,B SOMETYPE NOT NULL,C SOMETYPE NULL,PRIMARY KEY (A,B),FOREIGN KEY (A,C) REFERENCES X (A,B)); 存储在X中的实体按层次结构组织:如果存在行(A1,B1,C1)且C1不是NULL,那么无论C2是什么,它都被认为是(A1,C1[详细]
-
sql-server – 将表达式转换为数据类型datetime的算术溢出错误.
所属栏目:[MsSql教程] 日期:2020-12-12 热度:51
执行跟随错误时显示 declare @yr_mnth_dt as numeric;set @yr_mnth_dt = 20130822;select convert(datetime,@yr_mnth_dt,112) as YR_MNTH_DT 错误显示 Arithmetic overflow error converting expression to data type datetime. 解决方法 你发现的是你试图将[详细]
-
SQL查询 – 如果超过3个重复,则删除重复项?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:161
有没有人有一个优雅的sql语句来删除表中的重复记录,但只有当重复数超过x时?所以它允许最多2或3个重复,但就是这样吗? 目前我有一个select语句执行以下操作: delete tablefrom table tleft outer join ( select max(id) as rowid,dupcol1,dupcol2 from table[详细]
-
sql-server – SQL Server ON DELETE触发器
所属栏目:[MsSql教程] 日期:2020-12-12 热度:179
我正在尝试创建一个基本的数据库触发器,当数据库2.table2的行被删除时,有条件地从database1.table1中删除行.我是新来的触发器,希望学习最好的方式来完成这个.这是我到目前为止.建议? CREATE TRIGGER sampleTrigger ON database1.dbo.table1 FOR DELETEAS IF[详细]
-
数据库 – 哪些应用程序不需要ACID?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:79
对于无知的问题很抱歉,但是什么样的应用程序不需要符合ACID标准的数据库服务器?我有一个SQL Server背景,其中ACID一直“在那里”,现在研究其他DBMS让我思考.我能想到的大多数应用都需要原子性或隔离性.谢谢! 解决方法 任何基于NoSQL类型数据库的东西都会牺牲[详细]
-
sql – 我们可以从函数调用存储过程吗?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:110
我们可以从SQL中的函数调用存储过程吗?什么原因? 解决方法 是. 你可以通过涉及openrowset的一些黑客来做到这一点,但不建议这样做,因为它会打开一个新的连接. CREATE FUNCTION dbo.test ()RETURNS varchar(200)ASBEGIN RETURN (Select top 1 [Name] from OPE[详细]
-
sql – 将单个查询中的INSERT行分解为多个表,从相关表中进行选择
所属栏目:[MsSql教程] 日期:2020-12-12 热度:178
我有两张以下表格(即每个foo都链接到一个吧). CREATE TABLE foo ( id INTEGER PRIMARY KEY,x INTEGER NOT NULL,y INTEGER NOT NULL,...,bar_id INTEGER UNIQUE NOT NULL,FOREIGN key (bar_id) REFERENCES bar(id));CREATE TABLE bar ( id INTEGER PRIMARY KEY[详细]
-
sql – 如何在单个ALTER TABLE中添加和删除列
所属栏目:[MsSql教程] 日期:2020-12-12 热度:170
我尝试了以下,但我有一个语法错误 ALTER TABLE Grades ( DROP COLUMN (Student_FamilyName,Student_Name),ADD Student_id INT ); 是否可以在相同的ALTER TABLE语句中执行DROP和ADD? 解决方法 如果你看看 ALTER TABLE SYTAX 你会看到这个 ALTER TABLE [ datab[详细]
-
sql-server – 以另一个用户权限执行存储过程
所属栏目:[MsSql教程] 日期:2020-12-12 热度:132
我遇到了以下问题:有一个用户必须执行存储过程(spTest).在spTest的主体中调用sp_trace_generateevent. sp_trace_generateevent需要更改跟踪权限,我不希望用户拥有它.所以我希望用户能够执行spTest.我怎样才能做到这一点? 解决方法 尝试这个: EXECUTE AS us[详细]
-
sql-server – TABLESAMPLE返回错误的行数?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:156
我刚刚发现了 TABLESAMPLE 子句,但令人惊讶的是它没有返回我指定的行数. 我使用的表有~14M行,我想要一个10000行的任意样本. select * from tabData TABLESAMPLE(10000 ROWS) 每次执行它(8000到14000之间),我得到的不是10000而是一个不同的数字. 这里发生了什[详细]
-
tsql – SQL Server:将字符串拆分为行
所属栏目:[MsSql教程] 日期:2020-12-12 热度:150
如何从下面转换数据: CODE COMBINATION USER1111.111.11.0 KEN; JIMMY666.778.0.99 KEN888.66.77.99 LIM(JIM); JIMMY 至 CODE COMBINATION USER1111.111.11.0 KEN1111.111.11.0 JIMMY666.778.0.99 KEN888.66.77.99 LIM(JIM)888.66.77.99 JIMMY 我知道在SQL S[详细]
-
sql-server – 如何使用Query一次更新SQL Server中特定列的字段
所属栏目:[MsSql教程] 日期:2020-12-12 热度:113
我有进口数据表XLS我的CMS.但是最终意识到数据没有任何扩展名的数据没有任何扩展,在表的列之一,所以现在我要根据具体的ID更改多行的列数据?如何使用单SQL查询? 我只想在这些数据的最后添加“.jpg”. 图片 解决方法 UPDATE aSET a.Imagepath = a.ImagePath +[详细]
-
sql-server – SQL Server 2008:如何将输出格式化为货币
所属栏目:[MsSql教程] 日期:2020-12-12 热度:161
我有一个查询字符串,它返回一个有几个小数位的值.我想将其格式化为123.45美元. 这是查询: SELECT COALESCE(SUM(SUBTOTAL),0) FROM dbo.SALESORD_HDR where ORDERDATE = datediff(d,getdate()) and STATUS NOT IN (3,6) 我希望结果以2位小数的货币. 解决方法[详细]
-
sql-server – 当WHERE子句包含参数化值时,为什么SQL Server使用
所属栏目:[MsSql教程] 日期:2020-12-12 热度:178
我们发现,如果where子句包含参数化值而不是字符串文字,则SQL Server使用索引扫描而不是索引搜索. 以下是一个例子: SQL Server在以下情况下执行索引扫描(where子句中的参数) declare @val1 nvarchar(40),@val2 nvarchar(40);set @val1 = 'val1';set @val2 = '[详细]
-
高级SQL Developer面试问题 – 太难了?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:123
警告,这是一个很长的篇幅.我/我的面试问题我太苛刻了吗? 好的,在申请人池中?9个月的失望之后,我想确保我们不会期望我们的高级开发人员申请人太多. 背景 我们是一家商业智能商店.不过,我们不希望候选人能够参与BI知识.如果你有一个坚实的T-SQL背景,那就是我们[详细]
-
sql – Derby处理NULL值
所属栏目:[MsSql教程] 日期:2020-12-12 热度:89
我是Derby的新手,我注意到,就使用DB2 RDBMS而言,我遇到的问题与null值有关. Derby文档声明,null值必须具有与之关联的类型(DB2最终在版本9.7中除外): http://db.apache.org/derby/docs/10.7/ref/crefsqlj21305.html 现在,我试图找到这个问题的一般解决方案,因[详细]
-
SQL Server转换选择一个列并将其转换为字符串
所属栏目:[MsSql教程] 日期:2020-12-12 热度:160
是否可以编写一个从表中选择列的语句并将结果转换为字符串? 理想情况下,我想要使用逗号分隔的值. 例如,说SELECT语句看起来像 SELECT columnFROM tableWHERE column10 并且结果是具有值的列 |column|--------| 1 || 3 || 5 || 9 | 我想要的结果是字符串“1,3,[详细]
-
sql – 在Oracle中存储NULL
所属栏目:[MsSql教程] 日期:2020-12-12 热度:82
我在Oracle 11g Standard One Edition中有一张表: 表格1 col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col111 NULL 2 3 4 5 NULL NULL 19 21 221 NULL 2 3 4 5 NULL 1 Jan 2009 19 21 221 NULL 2 3 4 5 NULL NULL 19 21 221 9 2 3 4 5 A NULL 19 21[详细]
-
sql – UNPIVOT对不确定数量的列
所属栏目:[MsSql教程] 日期:2020-12-12 热度:192
如何编写一个查询,将一个总共有1行和多列的表取消为具有2列的结果集:column_name和value.我理解表的底层结构是真正的问题所在,但我不能改变它.这个查询也必须不知道所述表中的列名和/或列数,因为列经常被添加(再次,我知道,设计不好,不能改变它),我不想要每次[详细]
-
sql-server-2005 – 如何从SQL Server表恢复已删除的行?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:111
我意外地对一个错误的WHERE的表执行了一个DELETE命令 条款. 我正在使用SQL Server 2005. 有没有办法可以帮助我恢复丢失的数据? 解决方法 可以使用Apex Recovery Tool,我已经成功地恢复了我意外删除的表行 如果您下载试用版,它将仅恢复第10行 在这里查看http:[详细]