如果我Temp Tables在存储过程的定义中创建,然后dropping them when I am done使用它们将导致重新编译执行计划?
对于存储过程每次调用它?任何个人经历?有什么解释吗?
当在每次调用结束时删除临时表时,执行计划变为无效.SQL Server是否仍然保留执行计划并在下次调用时重用,或者在每次调用时重新编译它.
sql-server stored-procedures sql-server-2008 sql-server-2008-r2
我期待很多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在尝试向其中插入数据之前,它足以在块中声明它.
任何人都可以解释一下我做错了什么或者我的理解中缺少了什么?
谢谢
我正在尝试创建一个记录声音一秒钟的应用程序,然后从录制的声音中读取最大振幅.这是我到目前为止,但我的应用程序崩溃,我无法弄清楚为什么.
这是我的第二个活动,在我按下"录制"按钮后,我从第一个活动开始.该应用程序在我的模拟器和手机上崩溃.
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)
我计算机上的(更新的 …
我已经使用 SQL Server 的导入/导出实用程序创建了一个 SSIS 包,以将数据从视图导出到 Excel 文件。我还通过 SQL Server 中的时间表对其进行了安排,并且一切正常。
我从中导出数据的视图实际上是从多个视图等中获取数据,大约为“层次结构”中的 3 个级别。
VS_NEEDSNEWMETADATA当我修改进入顶层视图的任何视图的列别名时遇到错误,我正在从中导出数据。
经过研究,我明白这就是我收到错误的原因,但是有什么方法可以“传播”“新视图”的元数据,这样我就不必在每次更改时重新创建 SSIS 包视图的结构?
我试图了解我的数据库上设置的时间戳中的字节是什么意思。它们如何计算以生成更具可读性的日期?
我正在使用以下查询来获取我需要的数据:
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,我正在尝试编写一个脚本来验证我的问题/解决方案是否与此处解释的相同。
任何帮助表示赞赏。
我想知道在以下语句中使用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默认情况下处于启用状态.
我可以假设它只是为了启用以前被禁用的东西吗?
我的任务是改进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) 我有一个包含不同语言列的表。我想在这张表上建立多个全文索引,每种语言一个。在 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”的全文索引已经创建。
所以,我有这个问题
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.
我不明白为什么会这样,我很想知道为什么.
我想在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)
任何帮助表示赞赏!
oracle ×4
sql-server ×4
sql ×3
oracle11g ×2
amplitude ×1
android ×1
audio ×1
database ×1
java ×1
keyword ×1
performance ×1
record ×1
sql-order-by ×1
ssis ×1
systimestamp ×1
time-format ×1