Ⅰ sql 老是報 "table1.studentno could not be bound" 是怎麼回事啊
select * from score,table1 where table1.studentno=score.studentno
用到了 table1但沒有在from里聲明
Ⅱ 請問sql中的 警報,操作員,作業之間到底什麼關系啊。
這幾個都是常見的SQL Server自動化功能
操作員只是一種通知方式而已,可以為操作員建立郵件、尋呼、net send三種通知方式,這樣在需要通知給資料庫管理員某些信息時,就可以使用操作員了。
作業是一種自動化任務,主要包含作業步驟和時間計劃。作業執行過後,為了讓管理員知道作業執行的情況,可以發送消息給操作員,也可以去觸發一個警報。
警報是一種監視機制,可以監視SQL Server的事件或性能條件。一旦監視的事情發生,或者監視的性能數據達到預設的閾值,就會觸發警報。警報觸發後執行什麼工作,取決於警報中響應的定義。一般是執行作業和發消息給操作員。
舉個例子吧:
我們擔心資料庫的日誌填滿,需要進行監視。我們就先建立一個操作員admin,設置net send地址為某個管理員的IP地址。然後建立一個作業trunclog來截斷日誌,作業的內容是:backup log dbname with no_log
然後建立一個警報,類型為性能條件警報,對象是SQL Server:Databases,選擇你的資料庫,並選擇Percent log used,數值設置為80。也就是說某個資料庫的日誌使用率一旦達到80%就要激活警報,至於警報的響應設置為運行作業trunclog,並發消息給admin操作員。
這樣一旦日誌使用率達到80%,就會發消息給管理員,同時日誌會被自動截斷。
Ⅲ 運行Mysql老是滴滴報警怎麼回事
徹底關閉mysql報警聲音
下面是解決方法:
方法1.
使用MySQL的命令終端時,如果輸入SQL有誤,將有beep聲。若要關閉該功能,根據mysql --help,使用mysql --no-beep即可。
修改my.ini
在[mysql] 下加入一行
no-beep = true
重新啟動MYSQL即可。
方法2.
登錄時mysql --no-beep -u 用戶名 -p密碼 -P 埠
mysql -u root -p -b---加上-b會有聲音的
方法3.
我的電腦-->設備管理器--> 查看---> 顯示隱藏設備,
然後在"非即插即用驅動程序"中找到"Beep"-> 雙擊打開Beep屬性-> 驅動程序-> 停止
Ⅳ 如何用SQL語言實現資料庫空間容量報警
CREATE OR REPLACE PROCEDURE "P_DBSPACE_ALERT"
as
begin
insert into tsy_op_log
SELECT s_tsy_op_log.nextval,3,0,65537,sysdate,0,7,'資料庫報警 '||'最高級別 '||' 表空間'||F.TABLESPACE_NAME||'用
了'||
TO_CHAR ((T.TOTAL_SPACE - F.FREE_SPACE),'999,999.99')||',空閑'||
TO_CHAR (F.FREE_SPACE, '999,999.99') ||',空閑百分比'||
TO_CHAR ((ROUND ((F.FREE_SPACE/T.TOTAL_SPACE)*100)),'999.99')||' %,請及時增加表空間容量' PER_FREE,3,100,0,0
FROM (
SELECT TABLESPACE_NAME,
SUM (BLOCKS*(SELECT VALUE/1024 FROM V$PARAMETER
WHERE NAME = 'db_block_size')/1024
) FREE_SPACE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME
) F,
(
SELECT TABLESPACE_NAME,
SUM (BYTES/1048576) TOTAL_SPACE
FROM sys.DBA_DATA_FILES
GROUP BY TABLESPACE_NAME
) T
WHERE F.TABLESPACE_NAME = T.TABLESPACE_NAME
AND (ROUND ((F.FREE_SPACE/T.TOTAL_SPACE)*100)) < 10;
insert into tsy_op_log
SELECT s_tsy_op_log.nextval,3,0,65537,sysdate,0,7,'資料庫報警 '||'最高級別 '||owner||'用戶的'||object_type||'
'||object_name|| '無效了',3,100,0,0 FROM dba_objects WHERE status<>'VALID' and owner=SYS_CONTEXT
('USERENV','CURRENT_USER') and object_type not in('PACKAG','EPACKAGE BODY','PROCEDURE');
insert into tsy_op_log
select s_tsy_op_log.nextval,3,0,65537,sysdate,0,7,'資料庫報警 '||'最高級別 '||SYS_CONTEXT
('USERENV','CURRENT_USER')||'用戶的 索引'||' '||index_name|| '無效了',3,100,0,0 from user_indexes where
status<>'VALID' and status<> 'N/A';
commit;
end;
--建立job
--建立資料庫報警的job
BEGIN
sys.dbms_scheler.create_job(
job_name => '"TEST"."AFC_TABLESPACE_ALERT"',
job_type => 'PLSQL_BLOCK',
job_action => 'begin
P_DBSPACE_ALERT;
end;',
repeat_interval => 'FREQ=HOURLY',
start_date => to_timestamp_tz('2010-02-04 00:00:00 Asia/Shanghai', 'YYYY-MM-DD HH24:MI:SS TZR'),
job_class => 'AFC_AUTO_TASKS',
comments => 'AFC_TABLESPACE_ALERT',
auto_drop => FALSE,
enabled => FALSE);
sys.dbms_scheler.set_attribute( name => '"TEST"."AFC_TABLESPACE_ALERT"', attribute => 'job_priority', value =>
2);
sys.dbms_scheler.set_attribute( name => '"TEST"."AFC_TABLESPACE_ALERT"', attribute => 'job_weight', value =>
1);
sys.dbms_scheler.set_attribute( name => '"TEST"."AFC_TABLESPACE_ALERT"', attribute => 'restartable', value =>
TRUE);
sys.dbms_scheler.enable( '"TEST"."AFC_TABLESPACE_ALERT"' );
END;
/
Ⅳ 失敗原因:執行SQL失敗,失敗原因:批處理中出現錯誤: ORA-00911: invalid character
應該是錯誤輸入了全形字元,輸入半形字元就行了。
錯誤信息ORA-00911: invalid character說明了在執行的SQL語句中出現了無效字元,所在SQL語句無法通過語法分析過程導致了錯誤結果。
可能出現的原因有:錯誤地輸入了全形字元,比如輸入了全形逗號。
如果使用C++、Java、C#等編程時,總會習慣在語句最後加分號,而這個符號在SQL中是無效字元。
實際語句和列類型不匹配,比如將數值列賦值為字元串。
與display函數不同,display_cursor顯示的為真實的執行計劃。
對於format參數,使用與display函數的各個值,同樣適用於display_cursor函數。
當statistics_level為all或使用gather_plan_statistics提示可以獲得執行時的統計信息。
根據真實與預估的統計信息可以初步判斷SQL效率低下的原因,如統計信息的准確性、主要的開銷位於那些步驟等。
看你的sql語句最後是否有分號,有的話去掉就行 看你Oracle伺服器端字元集是否和Oracle客戶端字元集匹配。
查詢oracle server端的字元集:SQL>select userenv(『language』) from al。
查詢oracle client端的字元集。在windows平台下,就是注冊表裡面相應OracleHome的NLS_LANG。
還可以在dos窗口裡面自己設置,比如: set nls_lang=AMERICAN_AMERICA.ZHS16GBK。
Ⅵ 執行sql語句報1064錯誤怎麼解決
原因:設置錯誤造成。解決方法:進入資料庫伺服器解決此問題。
如下參考:
1.打開HeidiSQL,選擇要操作的伺服器連接,然後點擊「open」。
Ⅶ VBA中執行SQL語句 報錯高手幫助看下。
Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" 不支持 SQL- case-when -end語句,所以不能運行。
Ⅷ sql server 2000怎樣寫存儲過程實現庫存報警
乾脆搞一個存儲器好過
create trigger 庫存報警 on #sp
for insert
as
begin
declare @s int,@m int,@n int
select @s=select stocks from inserted,
@m=select max(stocks) from #sp,
@n=select min(stocks) from #sp
if @s>@m
raiserror('超出'+(@s-@m),16,1)
if @s<@n
raiserror('減少出'+(@n-@s),16,1)
end
然後用高級語言撲捉錯誤
Ⅸ 怎樣取消SQL觸發器報警時在用戶界面出現
在頁面調用的時候,第一做好檢測,盡量讓用戶不要安慰規定的條件,第二,在調用的時候加一個try{}catch{}報錯時直接跳到一個出錯頁面,這樣就能有效避免提示警告