小编Ste*_*age的帖子

为什么我的emacs comint缓冲区有时似乎共享相同的历史记录?

我经常一次打开几个comint缓冲区,例如我将对数据库打开一个SQLi缓冲区,并在各个地方打开一组shell缓冲区.有时,我无法检测到,所有这些缓冲区都开始共享一个公共缓冲区命令历史记录,这样Mp就会在shell模式缓冲区中提取我的最后一条SQL命令,依此类推.

我怎样才能解决这个问题?究竟是什么造成的呢?

emacs

20
推荐指数
1
解决办法
978
查看次数

Openquery比直接查询链接表的查询速度快得多

试图弄清楚为什么会有这么大的差异

select * from linkedserver..tablename

select * from openquery(linkedserver, select * from tablename).

4分钟vs 13秒.

oracle sql-server-2005 linked-server

7
推荐指数
1
解决办法
4437
查看次数

7
推荐指数
2
解决办法
7884
查看次数

Oracle SQL:检测连续跨度中断

我有下表,我正在尝试检测其跨度中断的产品.

Product     | unit_Cost | price start date |    price end date
--------------------------------------------------------------------------
product 1     15.00         01/01/2011      03/31/2011
product 1     15.00         04/01/2011      06/31/2011
product 1     15.00         07/01/2011      09/31/2011
product 1     15.00         10/01/2011      12/31/2011

product 2     10.00         01/01/2011      12/31/2011

product 3     25.00         01/01/2011      06/31/2011
product 3     25.00         10/01/2011      12/31/2011
Run Code Online (Sandbox Code Playgroud)

所以在这里我希望它报告产品3,因为我们错过了跨度

07/01/2011 - 09/31/2011

有关如何做到这一点的任何想法?

编辑:Oracle Ver:10g

Create Table Statement

CREATE TABLE Sandbox.TBL_PRODUCT
(
  PRODUCT_ID        VARCHAR2(13 BYTE),   
  PRODUCT           VARCHAR2(64 BYTE),
  UNIT_COST         NUMBER,
  PRICE_START_DATE  DATE,
  PRICE_END_DATE    DATE
)
Run Code Online (Sandbox Code Playgroud)

编辑2开始日期和结束日期不能重叠

编辑3只要price_end_date> = price_start_date,跨度可以是任意两个日期.由于产品可以在一天内销售,因此包括在内.

sql oracle

7
推荐指数
1
解决办法
969
查看次数

在UPDATE语句中有条件地设置值

我想有一个存储过程,它将更新表行中的值,具体取决于是否提供了参数.例如,我有一种情况,我想更新所有值,但也有一种情况,我只需要更新两个值.我希望能够只用一个程序来做这个,而不是写两个,这对我来说并不特别有吸引力.我设法提出的最好的是以下内容:

CREATE PROCEDURE dbo.UpdatePerson
@PersonId INT,
@Firstname VARCHAR(50) = NULL,
@Lastname VARCHAR(50) = NULL,
@Email VARCHAR(50) = NULL
AS
BEGIN
    SET NOCOUNT ON

UPDATE Person 
Set 
    Firstname = COALESCE(@Firstname, Firstname),
    Lastname = COALESCE(@LastName, Lastname),
    Email = COALESCE(@Email, Email)
    WHERE PersonId = @PersonId

END
Run Code Online (Sandbox Code Playgroud)

我意识到每次都会更新这些值,这并不理想.这是实现这一目标的有效方法,还是可以采用更好的方式?

sql t-sql sql-server

5
推荐指数
1
解决办法
704
查看次数

查看Oracle中的扩展

所以我们有一些开发人员看到了一点快乐.所以现在我们有了引用视图的视图,这些视图引用了视图,这是一个令人讨厌

因此,为了帮助我进行调整,我想要的是扩展这些视图.

我想要一个带字符串并返回字符串的函数.输入字符串是查询,输出字符串是没有视图的相同查询.

CREATE OR REPLACE VIEW myView AS
SELECT * FROM emp
Run Code Online (Sandbox Code Playgroud)

使用函数/存储过程"F":

F('SELECT * FROM myView') 
Run Code Online (Sandbox Code Playgroud)

......会回来:

SELECT * FROM ( SELECT * FROM emp)
Run Code Online (Sandbox Code Playgroud)
  1. 是否有针对此的Oracle软件包?
  2. 有人有代码:
    1. SQL或PL/SQL
    2. 在别的东西

sql oracle views

5
推荐指数
1
解决办法
1452
查看次数

在doctrine 1.2中使用禁用列名

我正在使用postgresql数据库.我有一个名为"from"的列表(我无法改变它).由doctrine生成的sql插入查询不正确,因为列名"from"应该用引号括起来.我怎么能告诉学说呢?

我相信,有快速而干净的方法来纠正这一点.

提前致谢.

php doctrine

5
推荐指数
1
解决办法
373
查看次数

更新零行然后提交?

哪个过程对于影响零行的更新更有效?

UPDATE table SET column = value WHERE id = number;

IF SQL%Rowcount > 0 THEN
 COMMIT;
END IF;
Run Code Online (Sandbox Code Playgroud)

要么

UPDATE table SET column = value WHERE id = number;

COMMIT;
Run Code Online (Sandbox Code Playgroud)

换句话说,如果更新影响ZERO行并发出提交,我是否会产生任何额外费用?

我有一个系统受到日志文件同步等待的阻碍...我想知道是否发出提交; 针对影响零行的事务,会将该语句写入日志,从而导致LGWR上出现更多争用.

sql oracle commit

4
推荐指数
1
解决办法
1335
查看次数

在显示之前修改DBGrid单元格内容

我想在加载数据库时修改dbgrid控件中特定单元格的内容.例如,假设我不希望dbgrid中的任何数据库字段等于"forbidden".有什么方法可以做到吗?

delphi dbgrid

3
推荐指数
1
解决办法
5920
查看次数

通过向简单的SQL查询中添加变量来使用动态SQL来指定列名

SQL 2005 / SQL 2008

Declare @temp nvarchar(1000)

set @temp = 'ABC'


select col1,col2 from tableA
Run Code Online (Sandbox Code Playgroud)

与选择查询一起,如何向选择查询中添加变量?

expected output :-

select col1,col2,@temp as [col3] from tableA
Run Code Online (Sandbox Code Playgroud)

其中@temp指定tableA中列的名称。

sql sql-server-2005 sql-server-2008

3
推荐指数
1
解决办法
4万
查看次数

单个SELECT是否会显着降低Oracle数据库的性能?

所有,

考虑

  • 10gR2或更高版本的Oracle数据库.
  • 硬件足以超过现有峰值工作负载100%以上

您是否可以构建具有单个连接和对用户表的只读访问权限(而不是系统表或v $或x $表)的单个用户降低Oracle数据库整体性能的任何情况.还列出缓解策略(如果有).

根据规定,考虑到这不是一个数据库,它是几个远离饱和的CPU周期,因此任何额外的负载都是危险的.这是关于当前工作负载的大小合适的盒子.

例如

如果用户使用并行提示,Oracle可能会使用非常高的DOP来执行该查询并使其他CPU进程匮乏.缓解:向用户解释禁止并行提示.

oracle performance

3
推荐指数
1
解决办法
660
查看次数