-
sql-server – 为什么使用int作为查找表的主键?
所属栏目:[MsSql教程] 日期:2021-03-04 热度:61
我想知道为什么我应该使用int作为查找表的主键而不是仅使用查找值作为主键(在大多数情况下它将是一个字符串). 据我所知,使用nvarchar(50)而不是int将使用更多空间,如果它链接到具有许多记录的表. 另一方面,直接使用查找值基本上可以节省我们进行连接.我可以想[详细]
-
sql-server – 我注意到人们提到使用VPS的MSSQL Server并不是一
所属栏目:[MsSql教程] 日期:2021-03-04 热度:98
你能否详细说明一下? 解决方法 这一切都取决于您的应用程序的规模. 无论您是虚拟还是裸机,都需要进行适当的规划. 我已经看过几篇讨论数据库(特别是MS SQL)的白皮书和文章,以及如何规划在虚拟环境中进行部署. VPS方面最大的问题是,您对运行的基础架构和硬件了[详细]
-
sql-server – 为什么在Fact表中将NULL值映射为0?
所属栏目:[MsSql教程] 日期:2021-03-04 热度:195
在事实表中的度量字段(维度建模数据仓库)中,NULL值通常映射为0的原因是什么? 解决方法 这取决于你的建模,但一般来说,这是为了避免执行聚合的复杂性.在许多情况下,出于这些目的将NULL视为0是有意义的. 例如,在给定时间段内具有NULL订单的客户.或销售收入为NUL[详细]
-
sql – ‘in’子句如何在oracle中工作
所属栏目:[MsSql教程] 日期:2021-03-04 热度:186
select 'true' from dual where 1 not in (null,1); 当我们执行此操作时,什么都不会产生 我的问题是: 以上查询在逻辑上等效于 select 'true' from dual where 1 != null and 1 != 1; 这将不会像上述声明那样产生任何结果 请澄清? 解决方法 正确(但请注意,I[详细]
-
(@Variable)查询中的SQL
所属栏目:[MsSql教程] 日期:2021-03-04 热度:64
我有以下代码,问题是我的变量列表@LocationList本质上是一个csv字符串.当我使用它作为(@LocationList)中LocationID的一部分时,它表示它不是一个int(LocationID是一个i??nt).如何让这个csv字符串被teh in子句接受? Declare @LocationList varchar(1000)Set @L[详细]
-
Firebase数据库不等于请求 – 替代解决方案(适用于iOS)
所属栏目:[MsSql教程] 日期:2021-03-04 热度:155
我正在使用带有Json结构的Firebase数据库来管理用户的评论. { "post-comments" : { "post-id-1" : { "comment-id-11" : { "author" : "user1","text" : "Hello world","uid" : "user-id-2" },.... } 我想提取所有评论,但不包括当前用户的评论. 在SQL中,这将被[详细]
-
sql-server-2005 – 如何在SQL Server 2005中撤消删除操作?
所属栏目:[MsSql教程] 日期:2021-03-04 热度:107
我们的测试数据库突然缺少行.我们希望他们回来. 有没有办法筛选今天发生在数据库中的所有事情?每个SQL语句?我认为这种东西在事务日志中,但我不知道如何查看它. 有没有办法撤消删除操作? 顺便说一句:是的,我们确实有备份,但也希望找到删除的原因…… 解决[详细]
-
SQL Server 2008 R2:准备动态WHERE子句
所属栏目:[MsSql教程] 日期:2021-03-04 热度:143
我有以下四个参数的存储过程. 存储过程spTest: CREATE PROCEDURE spTest @Name varchar(20) = '',@Address varchar(100) = '',@City varchar(50) = '',@Pin varchar(50) = ''AS DECLARE @DynamicWhere varchar(max) DECLARE @Query varchar(max) /* Here I w[详细]
-
如何使用T-SQL从URL读取XML?
所属栏目:[MsSql教程] 日期:2021-03-04 热度:166
在url中有xml文件: responsesum0/sumresult0/resultcommentsel*1.9488|buy*1.9453/comment/response 现在想要存储过程,我可以从url解析这个xml文件,并更新为 comment中的列值.ll * 1.9488 | buy * 1.9453 / comment想添加购买* 1.9453到我的桌子.怎么样? 解[详细]
-
IN子句中不存在列,但SQL运行
所属栏目:[MsSql教程] 日期:2021-03-04 热度:100
我有一个使用IN子句的查询.这是一个简化版本: SELECT * FROM table A JOIN table B ON A.ID = B.ID WHERE B.AnotherColumn IN (SELECT Column FROM tableC WHERE ID = 1) tableC没有Column列,但查询执行得很好而没有错误消息.有人可以解释为什么吗 解决方法[详细]
-
sql – 为什么使用EXECUTE IMMEDIATE运行此查询会导致它失败?
所属栏目:[MsSql教程] 日期:2021-03-04 热度:126
我正在编写一个需要动态生成一些查询的PL / SQL过程,其中一个过程涉及使用作为参数的查询结果创建临时表. CREATE OR REPLACE PROCEDURE sqlout(query IN VARCHAR2)ISBEGINEXECUTE IMMEDIATE 'CREATE GLOBAL TEMPORARY TABLE tmp_tab AS (' || query || ');';E[详细]
-
SQL Server:根据记录的值返回列名
所属栏目:[MsSql教程] 日期:2021-03-01 热度:115
基于以下示例表,我希望有人对以下内容提供快速建议/解决方案: |Field1 |Field2 |Field3 |Field4 ||-------|-------|-------|-------|| 1 | 0 | 0 | 1 | 我希望能够构建一个查询来返回列名,其值(基于单个记录)= 1.这样,不依赖于游标或临时表. 即我想要以下输[详细]
-
sql – 从to_char()输出中删除空白填充
所属栏目:[MsSql教程] 日期:2021-03-01 热度:92
我从这里生成一个视图: create or replace view datetoday asselect to_char(dt,'yyyy-mm-dd') as date,to_char(dt,'Day') as weekday from (select ('2013-03-01'::date + i) dt from generate_series(0,'2013-03-03'::date - 2013-03-01'::date) as t(i))[详细]
-
SQL Server舍入错误,给出不同的值
所属栏目:[MsSql教程] 日期:2021-03-01 热度:99
我有一个存储过程,它执行大量计算,将结果存储在几个临时表中. 最后计算总和并舍入到两位小数并存储在临时表中并选择它. 对于所关注的列,所有中间和最终临时表都具有数据类型float. 原始场景: Declare @Intermediate table{ --several other columnsLabor flo[详细]
-
IN运算符SQL
所属栏目:[MsSql教程] 日期:2021-03-01 热度:132
我有一个名为NUMS的表,其中包含一列n. 我在其中填充值1,2,3,4,5,null. 现在一个查询 SELECT n FROM Nums WHERE n IN (1,null) 在这种情况下,我猜它已转换为 SELECT n FROM Nums Where n = 1 OR n = 2 OR n = null 我也将n与一个null值进行比较,该值应该产生未[详细]
-
在PLSQL SELECT语句中使用变量
所属栏目:[MsSql教程] 日期:2021-03-01 热度:59
我有一个查询ReportStartDate和ReportEndDate的查询,所以我想我会在PLSQL中使用变量.不知道我在这里缺少什么,但我收到一个错误: CLEAR;DECLARE varReportStartDate Date := to_date('05/01/2010','mm/dd/yyyy'); varReportEndDate Date := to_date('05/31/20[详细]
-
sql – LEFT JOIN(OUTER JOIN)与INNER JOIN的条件
所属栏目:[MsSql教程] 日期:2021-03-01 热度:109
SELECT A.COL1,B.COL1,C.COL1FROM TABLEA ALEFT JOIN TABLEB B ON A.COL1 = B.COL1LEFT JOIN TABLEC C ON ( C.COL3 IS NOT NULL AND ( C.COL2 = 664 AND A.COL1 = C.COL1 )) 关于SQL的技术性,在LEFT JOIN TABLE C ON之后用括号写的条件是什么意思?为什么那[详细]
-
如何决定使用数据库事务
所属栏目:[MsSql教程] 日期:2021-03-01 热度:154
你们怎么决定你应该在事务中包装sql? 请详细说明一下. 干杯!! 解决方法 当您需要完全处理一组更改以考虑操作完成且有效时,应使用事务.换句话说,如果只有一部分成功执行,是否会导致数据库中存储不完整或无效的数据? 例如,如果您有一个插入后跟一个更新,如果[详细]
-
访问最新记录时SQL性能变慢
所属栏目:[MsSql教程] 日期:2021-02-28 热度:70
我有一个MSSQL2005数据库,其记录可以追溯到2004年,目前在一个特定的表中只有不到1,000,000条记录. 事情是,如果我的报告将2009年数据与2010年数据,2008年与2009年,2009年与2009年或今年之前的任何组合进行比较,那么结果将在1-5秒内返回. 但是,如果我运行包含20[详细]
-
sql-server – SQL Server游标参考(语法等)
所属栏目:[MsSql教程] 日期:2021-02-28 热度:155
我不经常使用SQL Server游标,但是当我这样做时,我总是要查找语法和选项. 所以我想问一下,网上最好的SQL Server游标参考是什么? 我正在寻找一个解释所有(主要?)选项(I.E.FAST_FORWARD)的参考,并且还显示了如何使用它的快速摘要. (I.E.如何通过游标实现循环,[详细]
-
SQL:使用Select *
所属栏目:[MsSql教程] 日期:2021-02-28 热度:83
Possible Duplicate: 07000 使用Select *是不好的做法吗? 我正在阅读一些旧代码并看到一些’SELECT *’语句.我以前的同事告诉我Select *是不好的做法,但我真的看不出原因(除非我当然只需要返回几个字段).但是对于完整的“细节检索”(通过Id类型查询获取)选[详细]
-
在SQL查询中将别名命名为汇总?
所属栏目:[MsSql教程] 日期:2021-02-28 热度:150
我在我的SQL查询中使用汇总.我没有获得汇总的别名. 我的SQL是 SELECT [Column1],sum([Column2])FROM TableaGROUP BY [Column2] WITH ROLLUP 哪个回报 s 8t 8j 8null 24 如何替换总行中的NULL? 解决方法 您可以在CASE表达式中使用 GROUPING 函数. SELECT CASE[详细]
-
sql-server – 更改Getdate的输出
所属栏目:[MsSql教程] 日期:2021-02-28 热度:163
是否有可能欺骗SQL Server在GetDate()上返回不同的日期而不实际更改机器日期? 这将是很好的,因为我们有一个包含旧数据的数据库,我正在尝试测试一些使用getdate()的查询. 我可以更改我的机器日期,但这会带来其他应用程序的其他一些问题…… 有小费吗? 谢谢![详细]
-
sql-server – 改变列SQL的DEFAULT约束
所属栏目:[MsSql教程] 日期:2021-02-28 热度:198
我有一个用于创建表的SQL脚本,我希望除了几列之外的所有列的默认值为“”其他列需要整数默认值为0 以下创建表.删除了一些列,因为有很多列 CREATE TABLE [dbo].[PMIPatients]([PID] [varchar](30) NOT NULL,[PatientFirstName] [varchar](30) NULL,[PatientLas[详细]
-
sql – 如何检查查询是否正在使用索引
所属栏目:[MsSql教程] 日期:2021-02-28 热度:186
我使用的是SQL Server,但我没有足够的数据集来测试查询的性能. 我想分析查询并查看索引是否被利用.我怎么检查 解决方法 在SQL Management Studio中,只需键入查询,然后单击Control-L(显示查询执行计划).在那里,您将能够看到是否正在使用任何索引. “表扫描”表[详细]