Questions tagged «sql»

结构化查询语言(SQL)是用于查询数据库的语言。问题应包括代码示例,表结构,示例数据以及正在使用的DBMS实现的标签(例如MySQL,PostgreSQL,Oracle,MS SQL Server,IBM DB2等)。如果您的问题仅涉及特定的DBMS(使用特定的扩展名/功能),请改用该DBMS的标签。使用SQL标记的问题的答案应使用ISO / IEC标准SQL。

8
如何在动态sql语句中使用表变量?
在存储过程中,我在过程之上声明了两个表变量。现在,我试图在动态sql语句中使用该表变量,但是在执行该过程时遇到此错误。我正在使用Sql Server 2008。 这就是我的查询的样子, set @col_name = 'Assoc_Item_' + Convert(nvarchar(2), @curr_row1); set @sqlstat = 'update @RelPro set ' + @col_name + ' = (Select relsku From @TSku Where tid = ' + Convert(nvarchar(2), @curr_row1) + ') Where RowID = ' + Convert(nvarchar(2), @curr_row); Exec(@sqlstat); 我得到以下错误, 必须声明表变量“ @RelPro”。必须声明表变量“ @TSku”。 我试图将表放在动态查询的字符串块之外,但无济于事。


17
SQL查询中分组的COUNT的总和
我有一个包含2个字段的表格: 身份证名 -------- 1个Alpha 2 Beta 3 Beta 4 Beta 5查理 6查理 我想按名称将其分组,并带有“计数”和一行“ SUM” 名字计数 ------- ----- 阿尔法1 Beta 3 查理2 总和6 如何编写查询以在表下方添加SUM行?
69 sql  count  sum 

4
MySQL:存储过程中的事务
我的存储过程的基本结构是 BEGIN .. Declare statements .. START TRANSACTION; .. Query 1 .. .. Query 2 .. .. Query 3 .. COMMIT; END MySQL版本: 5.1.61-0ubuntu0.11.10.1-log 当前,如果“查询2”失败,则提交“查询1”的结果。 如果任何查询失败,如何回滚事务?

5
MySQL“ in子句”中的项目数
我有三个表来定义用户: USER: user_id (int), username (varchar) USER_METADATA_FIELD: user_metadata_field_id (int), field_name (varchar) USER_METADATA: user_metadata_field_id (int), user_id (int), field_value (varchar) 我想创建一个对应用程序中的其他用户具有一定访问权限的中间层用户。为了确定已登录的用户可以访问哪些用户,我使用了如下子查询: SELECT user_id FROM user WHERE user_id IN (SELECT user_id FROM user_metadata WHERE user_metadata_field_id = 1 AND field_value = 'foo') 当前,我将子查询字符串存储在变量中,然后每次需要拉出用户列表时,将其动态插入到外部查询中。完成此操作后,我认为“最好只存储实际user_ids的字符串”。 因此,与其将其存储在变量中... $subSql = "SELECT user_id FROM user_metadata WHERE user_metadata_field_id = 1 …
69 sql  mysql  in-clause 

16
动态数据库架构
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4个月前关闭。 改善这个问题 为动态逻辑数据库架构提供存储的推荐体系结构是什么? 需要说明的是:在要求系统为模型提供存储的情况下,其模型可能会在生产后由其用户扩展或更改,那么有哪些好的技术,数据库模型或存储引擎可以做到这一点? 一些可能性来说明: 通过动态生成的DML创建/更改数据库对象 创建具有大量稀疏物理列的表,并且仅使用“重叠”逻辑架构所需的表 创建一个“狭长”表,将动态列值存储为行,然后需要对其进行透视以创建一个“短,宽”行集,其中包含特定实体的所有值 使用BigTable / SimpleDB PropertyBag类型系统 任何基于现实世界经验的答案将不胜感激


30
从PHP内加载.sql文件
我正在为正在开发的应用程序创建安装脚本,并且需要从PHP内部动态创建数据库。我已经创建了数据库,但是现在我需要加载几个.sql文件。我计划一次打开一个文件并用mysql_query一次一行-直到我查看了模式文件并意识到它们不仅仅是每行一个查询。 那么,如何从PHP内加载sql文件(就像phpMyAdmin的import命令一样)?
68 php  sql  mysql  import  scripting 

3
使用选择将行添加到查询结果
是否可以使用这样的文字扩展查询结果? select name from users union select name from ('JASON'); 要么 select age, name from users union select age, name from (25,'Betty'); 因此它将返回表中的所有名称以及“ JASON”或(25,“ Betty”)。

12
如何在MS-SQL Server中的别名列上执行GROUP BY?
我试图对别名列(以下示例)执行按操作分组,但无法确定正确的语法。 SELECT LastName + ', ' + FirstName AS 'FullName' FROM customers GROUP BY 'FullName' 正确的语法是什么? 编辑 进一步扩展问题(我没想到我会收到答案),解决方案是否仍适用于CASE别名列? SELECT CASE WHEN LastName IS NULL THEN FirstName WHEN LastName IS NOT NULL THEN LastName + ', ' + FirstName END AS 'FullName' FROM customers GROUP BY LastName, FirstName 答案是肯定的,它仍然适用。
68 sql  sql-server  tsql  syntax 

7
为SQL查询设置默认架构
有没有一种方法可以设置查询的模式,以便在其余查询中我可以仅按表名引用表,而无需在表名前添加表名? 例如,我想做这样的事情: Use [schemaName] select * from [tableName] 与此相反: select * from [schemaName].[tableName]
68 sql  sql-server  schema 

5
创建或替换触发器postgres
我想“创建或替换” postgres表的触发器。但是,没有这样的sql表达式。 我看到我可以先做一个“ DROP TRIGGER IF EXISTS”(http://www.postgresql.org/docs/9.5/static/sql-droptrigger.html)。 我的问题是: 是否有比(DROP+CREATE触发器)更推荐/更好的选择 有没有为什么没有这样的“创建或替换触发器”的原因(这可能意味着我不应该这样做) 请注意,Create or Replace Trigger在oracle(https://docs.oracle.com/cd/B19306_01/appdev.102/b14251/adfns_triggers.htm)中有一个“ ” 。然后, 这样的命令是否计划用于Postgres?

6
搜索并替换数据库中的部分字符串
我需要替换所有以nvarchar形式存储在数据库中的iframe广告代码。我可以使用以下sql-question查找条目: SELECT * FROM databasename..VersionedFields WHERE Value LIKE '%<iframe%' 说我要替换以下代码段: code before iframe <iframe src="yadayada"> </iframe> code after iframe 有了这个: code before iframe <a>iframe src="yadayada"</a> code after iframe
68 sql  sql-server  tsql 

24
Linq to SQL不会遗漏要点吗?ORM映射器(SubSonic等)不是最佳解决方案吗?
我希望社区对Linq to Sql和其他ORM映射器有一些想法。 我喜欢Linq和Sql,并喜欢用本机开发语言表达数据访问逻辑(或一般说来CRUD操作),而不必处理C#和SQL之间的“阻抗不匹配”。例如,要为业务层返回与ObjectDataSource兼容的Event实例列表,请使用: return db.Events.Select(c => new EventData() { EventID = c.EventID, Title = c.Title }) 如果要使用旧的SQL-to-C#构造实现此功能,则必须创建一个Command类,添加EventID参数(使用字符串描述“ @EventID”参数),然后将SQL查询字符串添加到命令类,执行命令,然后使用(cast-type)nwReader [“ FieldName”]拉出每个返回的字段值,并将其分配给我的EventData类(yuck)的新创建实例的成员。 因此,这就是为什么像Linq / SubSonic / etc这样的人。并且我同意。 但是,从更大的角度看,我发现许多错误。我的感觉是,Microsoft也看到了错误,这就是为什么他们杀死Linq to SQL并试图将人们转移到Linq to Entities。只是,我认为微软正在加倍下注。 那么,怎么了? 问题在于,有一些架构宇航员,尤其是Microsoft的宇航员,他们研究了Linq to Sql并意识到这不是一个真正的数据管理工具:在C#中,您仍然无法轻松完成许多事情,他们的目标是修复它。 您会看到这体现在Linq to Entities背后的野心,有关Linq的革命性甚至LinqPad挑战的博客文章中。 而这个问题是在于,它假定SQL的问题。也就是说,为了减轻轻微的不适(SQL和C#之间的阻抗不匹配),Microsoft建议在创可贴(Linq to SQL或类似的东西)就可以的情况下等效于太空服(完全隔离)。 据我所知,开发人员足够聪明,可以掌握关系模型,然后将其智能地应用于开发工作中。实际上,我再说一遍,Linq to SQL,SubSonic等已经太复杂了:学习曲线与掌握SQL本身并没有太大不同。由于在可预见的将来,开发人员必须掌握SQL和关系模型,因此我们现在面临学习两种查询/ CRUD语言的问题。更糟糕的是,Linq通常很难测试(您没有查询窗口),将我们从正在执行的实际工作中删除了一层(生成SQL),并且对SQL构造(例如,最多)的支持非常笨拙日期处理(例如DateDiff),“具有”甚至“分组依据”。 有什么选择?就个人而言,我不需要像Linq to Entities那样的数据访问模型。我希望仅在Visual Studio中弹出一个窗口,输入并验证我的SQL,然后按一个按钮即可生成或补充C#类以封装该调用。由于您已经知道SQL,因此您不希望仅输入以下内容: Select …

11
有用(困难)SQL脚本库
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 9年前关闭。 有谁知道我在哪里可以找到常见但又困难(异常)的SQL脚本示例库。我说的是您在文档中找不到的那些示例,但是确实经常需要完成这些示例,例如查找重复项等。 拥有这样方便的东西将节省大量时间。 编辑:谢谢大家,我认为这已成为一个很好的快速参考。描述性越强,效果越好,因此,如果您发现自己的方式是开放的,请-编辑并添加一些说明。非常感谢已经这样做的人!
68 sql  scripting 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.