小编Rad*_*hiu的帖子

存储过程中的临时表将导致重新编译执行计划

如果我Temp Tables在存储过程的定义中创建,然后dropping them when I am done使用它们将导致重新编译执行计划?

对于存储过程每次调用它?任何个人经历?有什么解释吗?

当在每次调用结束时删除临时表时,执行计划变为无效.SQL Server是否仍然保留执行计划并在下次调用时重用,或者在每次调用时重新编译它.

sql-server stored-procedures sql-server-2008 sql-server-2008-r2

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

如何将数据插入TABLE类型变量

我期待很多downvotes,因为我认为这是一个愚蠢的问题,但在这里:

我正在尝试将数据插入TABLE TYPE变量.我有一个预先存在的TABLE TYPE,定义为:

create or replace type m_code_object
 is object (m_code varchar2(25 char));

create or replace type m_code_tabletype
 is table of m_code_object;
Run Code Online (Sandbox Code Playgroud)

以及我想基于此定义并将数据插入的表格如下:

declare
    vtable m_code_tabletype;
begin
    insert into vtable values ('a');
    insert into vtable values ('b');
end;
Run Code Online (Sandbox Code Playgroud)

现在,当在SQL Developer中运行时,我得到PL/SQL: ORA-00942: table or view does not exist两行.

我的理解是,这是一个类型的表变量,m_code_tabletype在尝试向其中插入数据之前,它足以在块中声明它.

任何人都可以解释一下我做错了什么或者我的理解中缺少了什么?

谢谢

oracle oracle11g

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

在Android中录制声音并读取Amplitude

我正在尝试创建一个记录声音一秒钟的应用程序,然后从录制的声音中读取最大振幅.这是我到目前为止,但我的应用程序崩溃,我无法弄清楚为什么.

这是我的第二个活动,在我按下"录制"按钮后,我从第一个活动开始.该应用程序在我的模拟器和手机上崩溃.

package radu.soundSampler;

import java.io.IOException;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
import android.media.MediaRecorder;

public class DisplayMessageActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    //Intent intent = getIntent();
    //String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

    MediaRecorder rec = new MediaRecorder();
    rec.setAudioSource(MediaRecorder.AudioSource.MIC);
    rec.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
    rec.setOutputFile("/newRecording");
    rec.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);

    try {
        rec.prepare();
    } catch (IllegalStateException e) {

    } catch (IOException o) {

    }
    rec.start();
            for(int i=0;i<100000;i++);
    rec.stop();
    int rezultat = rec.getMaxAmplitude();

    TextView textView = new TextView(this);
    textView.setTextSize(40);

    textView.setText(Integer.toString(rezultat));

    setContentView(textView);
}

}
Run Code Online (Sandbox Code Playgroud)

我计算机上的(更新的 …

java audio android record amplitude

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

如何绕过 SSIS VS_NEEDSNEWMETADATA 错误?

我已经使用 SQL Server 的导入/导出实用程序创建了一个 SSIS 包,以将数据从视图导出到 Excel 文件。我还通过 SQL Server 中的时间表对其进行了安排,并且一切正常。

我从中导出数据的视图实际上是从多个视图等中获取数据,大约为“层次结构”中的 3 个级别。

VS_NEEDSNEWMETADATA当我修改进入顶层视图的任何视图的列别名时遇到错误,我正在从中导出数据。

经过研究,我明白这就是我收到错误的原因,但是有什么方法可以“传播”“新视图”的元数据,这样我就不必在每次更改时重新创建 SSIS 包视图的结构?

sql-server ssis export-to-excel sql-server-2008-r2

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

Oracle dump(systimestamp) 字节的含义

我试图了解我的数据库上设置的时间戳中的字节是什么意思。它们如何计算以生成更具可读性的日期?

我正在使用以下查询来获取我需要的数据:

SELECT systimestamp
    ,DUMP (systimestamp)
    ,sessiontimezone
FROM dual;
Run Code Online (Sandbox Code Playgroud)

我上面查询的输出是:

+-------------------------------------+-----------------------------------------------------------------+------------------+
|            systimestamp             |                       dump(systimestamp)                        | sessiontimezone  |
+-------------------------------------+-----------------------------------------------------------------+------------------+
| 31-JUL-15 08.55.06.157047000 +00:00 | Typ=188 Len=20: 223,7,7,31,8,55,6,0,216,88,92,9,0,0,5,0,0,0,0,0 | Europe/Bucharest |
+-------------------------------------+-----------------------------------------------------------------+------------------+
Run Code Online (Sandbox Code Playgroud)

我在网上找到了一些资源来解释字节的含义(这里),但规则在我的场景中不匹配。

例如:223 不是世纪 + 100 等。

我尝试这样做的原因是因为我在比较timestamp(3)列中的值时遇到了一个问题systimestamp,我正在尝试编写一个脚本来验证我的问题/解决方案是否与此处解释的相同。

任何帮助表示赞赏。

oracle time-format oracle11g systimestamp

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

在oracle数据库语句中使用ENABLE关键字的原因是什么?

我想知道在以下语句中使用ENABLE关键字的优点或用处是什么?

CREATE TABLE "EVALUATION" (
    "EVALUATION_ID" NUMBER(20, 0) NOT NULL ENABLE,
Run Code Online (Sandbox Code Playgroud)

要么

ALTER TABLE "EVALUATION"
ADD CONSTRAINT("EVALUATION_FK")
FOREIGN KEY ("CREW_ID")
REFERENCES "CREW" ("CREW_ID") ENABLE;
Run Code Online (Sandbox Code Playgroud)

对于我在文档中阅读的内容,ENABLE默认情况下处于启用状态.

我可以假设它只是为了启用以前被禁用的东西吗?

sql database oracle keyword

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

改进报告存储过程的执行时间 - 调整临时表?

我的任务是改进SSRS前端调用的报告存储过程的性能(这是我的第一次真实性能调整),存储过程目前大约需要30秒才能运行数据量(基于从报告前端设置的过滤器).

该存储过程具有在其中执行的19个查询的细分,其中大多数将数据从初始(遗留)格式从基表内转换为有意义的数据集以显示给业务侧.

我已经创建了一个基于几个DMV的查询,以便找出哪些是存储过程中最耗费资源的查询(下面的小片段),我发现一个查询平均需要大约10秒才能完成.

select
    object_name(st.objectid)                                                                    [Procedure Name]
    , dense_rank() over (partition by st.objectid order by qs.last_elapsed_time desc)           [rank-execution time]
    , dense_rank() over (partition by st.objectid order by qs.last_logical_reads desc)          [rank-logical reads]
    , dense_rank() over (partition by st.objectid order by qs.last_worker_time desc)            [rank-worker (CPU) time]
    , dense_rank() over (partition by st.objectid order by qs.last_logical_writes desc)         [rank-logical write]
        ...
from sys.dm_exec_query_stats as qs
    cross apply sys.dm_exec_sql_text (qs.sql_handle) as st
    cross apply sys.dm_exec_text_query_plan (qs.plan_handle, qs.statement_start_offset, qs.statement_end_offset) as qp
where st.objectid in …
Run Code Online (Sandbox Code Playgroud)

sql-server performance stored-procedures sql-server-2008-r2

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

同一个表上的多个全文索引

我有一个包含不同语言列的表。我想在这张表上建立多个全文索引,每种语言一个。在 MsSQL (Azure) 中甚至有可能吗?我有以下代码:

IF NOT EXISTS (SELECT 1 FROM sys.fulltext_catalogs  WHERE NAME = 'BlaBlaFullTextCatalog')
    CREATE FULLTEXT CATALOG BlaBlaFullTextCatalog AS DEFAULT;

CREATE FULLTEXT INDEX ON [IDX_c7296e1d-8cea-40f7-9204-8f017b1e14a8_tmp] ([OBJ_FreeText_de-DE] LANGUAGE 1043) KEY INDEX [PK_bbca2bbb-a84e-4bd2-b908-92c5329652a5] ON [BlaBlaFullTextCatalog]
    WITH CHANGE_TRACKING = AUTO;

CREATE FULLTEXT INDEX ON [IDX_c7296e1d-8cea-40f7-9204-8f017b1e14a8_tmp] ([OBJ_FreeText_nl-NL] LANGUAGE 1043) KEY INDEX [PK_bbca2bbb-a84e-4bd2-b908-92c5329652a5] ON [BlaBlaFullTextCatalog]
    WITH CHANGE_TRACKING = AUTO;

ALTER FULLTEXT INDEX ON [IDX_c7296e1d-8cea-40f7-9204-8f017b1e14a8_tmp] ENABLE;

ALTER FULLTEXT INDEX ON [IDX_c7296e1d-8cea-40f7-9204-8f017b1e14a8_tmp] START FULL POPULATION;
Run Code Online (Sandbox Code Playgroud)

但它抛出以下错误:

表或索引视图“IDX_c7296e1d-8cea-40f7-9204-8f017b1e14a8_tmp”的全文索引已经创建。

sql-server azure-sql-database

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

ORDER BY仅适用于列别名

所以,我有这个问题

SELECT
    NOTES,
    DATECREATED,
    DATEMODIFIED,
    * 
FROM myTable
WHERE
    USERCREATEDBY = 465
    AND NOTES LIKE ' :%'
ORDER BY DATECREATED
Run Code Online (Sandbox Code Playgroud)

它会抛出这个错误Ambiguous column name 'DATECREATED'.

我发现我的查询没有任何问题,我找到了一个修复方法,其形式是为列添加别名DATECREATED,例如DATECREATED a,按别名排序ORDER BY a.

我不明白为什么会这样,我很想知道为什么.

sql sql-order-by sql-server-2008

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

Oracle查询计算当前年龄

我想在Oracle表中从DOB(出生日期)字段计算当前人的年龄.

DOB字段的数据类型是varchar,日期以"DD-MON-YY"格式存储.

当我从日期计算一个人的当前年龄时,10-JAN-49查询将返回年龄为负数.此外,我观察到如果日期为13至49年,则会给出负面结果.

例子

22-NOV-83 -valid result
09-FEB-58 --valid result
05-JUN-49 - Invalid result like -36
Run Code Online (Sandbox Code Playgroud)

查询已执行以供参考

select round(MONTHS_BETWEEN(sysdate,to_date(dob,'DD-MON-RR'))/12)||' Yrs' 
from birth
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏!

sql oracle

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