Tag: sql

存储过程和视图有什么区别?

我对以下几点感到困惑: 存储过程和视图有什么区别? 什么时候应该使用存储过程,以及在SQL Server中何时使用视图? 视图允许创builddynamic查询,我们可以传递参数吗? 哪一个是最快的,基于哪一个比另一个更快? 视图或存储过程是否永久分配内存? 这是什么意思,如果有人说视图创build一个虚拟表,而程序创build一个材料表? 请让我知道更多的点,如果有的话。

通过SQL命令显示MySQL主机

Show Database Use database show tables Describe <table> 一切顺利,但可以显示当前的连接主机。 不是connection_id,而是主机的IP地址或名称。

如何在存储过程中生成一个新的Guid?

我目前有一个存储过程,我想在表中插入新行。 insert into cars (id, Make, Model) values('A new Guid', "Ford", "Mustang") 所以主键'id'是一个Guid。 我知道如何在C#代码中创build一个新的Guid,但是在存储过程中,我不确定如何为主键值生成新的Guid。 有人可以帮我吗? 谢谢!

如何使用SqlConnectionStringBuilder从连接string获取数据库名称

我从来不想分割连接string使用string操作,并获得服务器,数据库,用户名和密码。 我阅读以下链接并阅读接受的答案,我发现这是从连接string中获取用户标识和密码的最佳方法,但数据库名称呢? 从连接string获取用户名和密码的正确方法? 如何使用SqlConnectionStringBuilder从连接string获取数据库名称。 (数据源是服务器名称?)

数据库中有多less行太多?

我有一个具有1,000,000条logging的MySQL InnoDB表。 这太多了吗? 或者数据库可以处理这个和更多? 我问,因为我注意到一些查询(例如,从表中获取最后一行)在1毫米行中比在100行中慢(秒)。

T-SQL中的'NOT'布尔值不能处理'bit'数据types?

试图执行一个布尔NOT操作,似乎在MS SQL Server 2005下,下面的块不起作用 DECLARE @MyBoolean bit; SET @MyBoolean = 0; SET @MyBoolean = NOT @MyBoolean; SELECT @MyBoolean; 相反,我越来越成功 DECLARE @MyBoolean bit; SET @MyBoolean = 0; SET @MyBoolean = 1 – @MyBoolean; SELECT @MyBoolean; 然而,这看起来有点扭曲的方式来expression一些简单的否定。 我错过了什么吗?

SQL Server报告“列名无效”,但该列存在,并且查询通过management studio工作

我陷入了一个僵局。 我有一个C#代码生成的查询。 在针对相同数据库运行时,查询在Microsoft SQL Server Management Studio中正常工作。 但是,当我的代码试图运行相同的查询时,我得到了关于一个无效列相同的错误,并引发exception。 所有引用此列的查询都失败。 有问题的列最近被添加到数据库。 这是一个名为Incident_Begin_Time_ts的date列。 一个失败的例子是: select * from PerfDiag where Incident_Begin_Time_ts > '2010-01-01 00:00:00'; 其他查询如Select MAX(Incident_Being_Time_ts); 在代码中运行时也失败,因为它认为列丢失。 有任何想法吗?

如何从工资表中find第三或第n个最高工资?

如何以优化方式从工资table(EmpID,EmpName,EmpSalary)中findthird or nth最高工资?

在同一张桌子上join两次的最佳方式是什么?

这有点复杂,但我有2个表。 假设结构是这样的: *Table1* ID PhoneNumber1 PhoneNumber2 *Table2* PhoneNumber SomeOtherField 这些表可以根据Table1.PhoneNumber1 – > Table2.PhoneNumber或Table1.PhoneNumber2 – > Table2.PhoneNumber进行连接。 现在,我想要得到一个结果集,其中包含PhoneNumber1,与PhoneNumber1,PhoneNumber2和SomeOtherField对应的PhoneNumber2对应的SomeOtherField。 我想到了两种方法来做到这一点 – 无论是两次join表,还是在ON子句中join一个OR。 方法1 : SELECT t1.PhoneNumber1, t1.PhoneNumber2, t2.SomeOtherFieldForPhone1, t3.someOtherFieldForPhone2 FROM Table1 t1 INNER JOIN Table2 t2 ON t2.PhoneNumber = t1.PhoneNumber1 INNER JOIN Table2 t3 ON t3.PhoneNumber = t1.PhoneNumber2 这似乎工作。 方法2 : 以某种方式有一个查询,看起来有点像这样 – SELECT … FROM Table1 […]

如何改变PostgreSQL表中的列的数据types?

在PostgreSQL交互式terminal中input以下命令会导致错误: ALTER TABLE tbl_name ALTER COLUMN col_name varchar (11); 什么是正确的命令来改变列的数据types?