當前位置:首頁 » 編程語言 » 每天一條sql語句
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

每天一條sql語句

發布時間: 2022-05-01 23:53:50

A. 可以不可以 讓sql 2008 每天自動執行一條語句

C:\Documents and Settings\Wang>osql /?
用法: osql [-U login id] [-P password]
[-S server] [-H hostname] [-E trusted connection]
[-d use database name] [-l login timeout] [-t query timeout]
[-h headers] [-s colseparator] [-w columnwidth]
[-a packetsize] [-e echo input] [-I Enable Quoted Identifiers]
[-L list servers] [-c cmdend] [-D ODBC DSN name]
[-q "cmdline query"] [-Q "cmdline query" and exit]
[-n remove numbering] [-m errorlevel]
[-r msgs to stderr] [-V severitylevel]
[-i inputfile] [-o outputfile]
[-p print statistics] [-b On error batch abort]
[-X[1] disable commands [and exit with warning]]
[-O use Old ISQL behavior disables the following]
<EOF> 批處理
控制台寬度自動調整
寬消息
默認錯誤級別為 — 1 對 1
[-? show syntax summary]
osql -u 用戶名 -p 密碼 -s 伺服器 -d 資料庫名 -i sql文件
把你要執行的sql語句寫好保存到一個文件裡面,在把上句復制到一個文本文件裡面,改成bat擴展名變成批處理文件,然後系統控制面板裡面有個計劃任務,把批處理文件加到計劃任務裡面,這個比較麻煩,簡單點的是sql企業管理器裡面有個作業管理,在sql agent裡面,啟用sqlagent服務,裡面的作業就可以自動按時間調度了

B. 查詢每天最後一條記錄的sql語句

--forM$SQL:
SELECT*
FROMtba
WHERENOTEXISTS(
SELECT1FROMtbb
WHERE1=1
ANDCONVERT(CHAR(10),a.timepoint,102)
=CONVERT(CHAR(10),b.timepoint,102)
ANDb.timepoint>a.timepoint
)

C. sql語句,求記錄集每天按時間算的第一條記錄

好歹也給個表結構啊。

地點 日期時間 溫度

假設三個欄位,地點是字元,日期時間是date,溫度是數值類型

selectt.地點,t.日期,t.溫度from
(select地點,to_char(日期時間,'yyyy-mm-dd')日期,row_number()over(partitionby地點,to_char(日期時間,'yyyy-mm-dd'))rn,溫度from表名whereto_char(日期時間,'yyyymm')='201712')twheret.rn=1

這個查出來的就是2017年12月每天的第一條數據,剩下的沒看懂,你自己加工一下吧

D. Oracle中如何定時執行一條SQL語句

通過網上查詢,找到一種方案,就是先在oracle裡面對要定時的sql寫成存儲過程,再用DBMS_scheler對存儲過程進行定時執行。

在資料庫中新建了一個表MY_JOB_TEST

在資料庫中新建了一個表MY_JOB_TEST

在資料庫中新建了一個表MY_JOB_TEST

在PLSQL中,執行下面語句模擬存儲過程的調用,執行後要點提交才有反應

[sql] view plain

  • BEGIN

  • INSERTINTOMY_JOB_TEST(NUM)VALUES(1);

  • END;


  • 然後下面建立一個存儲過程JOB_TEST

    (注意,這里用戶需要CREATE JOB許可權,可以用超級管理員用戶執行下面語句給指定用戶賦予該許可權)

    [sql] view plain

  • GrantCreateJobTo指定用戶名



  • [sql] view plain

  • SQL>CREATEORREPLACEPROCEDURE

  • JOB_TEST

  • BEGIN

  • INSERTINTOMY_JOB_TEST(NUM)VALUES(1);

  • END;


  • (此處要執行存儲過程不能用exec JB_TEST,這種執行方式只能在命令行中使用)
  • 使用DBMS_SCHEDULER進行定時,這里為每分鍾執行一次

    [sql] view plain

  • SQL>BEGIN

  • DBMS_SCHEDULER.CREATE_JOB(

  • job_name=>'SCHEDULER_TEST',

  • job_type=>'STORED_PROCEDURE',

  • job_action=>'JOB_TEST',

  • start_date=>sysdate,

  • repeat_interval=>'FREQ=MINUTELY;INTERVAL=1');

  • END;


  • 但是這樣子定時任務並不會執行。
  • 我們可以用下面的命令查看一下scheler的狀態

    [plain] view plain

  • SQL>SELECT*FROMUSER_SCHEDULER_JOBS;

  • 此時我們可以看到enable的狀態是false的,因此我們需要去啟動定時任務
  • [plain] view plain

  • SQL>BEGIN

  • DBMS_SCHEDULER.ENABLE('SCHEDULER_TEST');


  • dbms_scheler.enable('j_test'); --啟用jobs
    dbms_scheler.disable('j_test'); --禁用jobs
    dbms_scheler.run_job('j_test'); --執行jobs
    dbms_scheler.stop_job('j_test'); --停止jobs
    dbms_scheler.drop_job('j_test'); --刪除jobs


    然後再查詢job的enable裝態,發現為true了。

    然後查看MY_JOB_TEST表,發現每分鍾會往裡面添加記錄。

    當需要修改定時任務或者調度的其他屬性時,可以用下面的

  • dbms_scheler.set_attribute('調度名','調度屬性','調度值');



  • 至此,定時任務完成。

E. 如何讓sql每天執行一下一個寫好的sql語句

可以設置定時任務,比較常用的是用sqlserver 代理新建作業。有時候資料庫自動備份也是用的這個。
還有一種比較復雜自己寫個程序,使用系統定時任務 定時執行。
創建sql server定時任務作業步驟如下:
1.要先安裝了sqlserver 代理服務
--2.滑鼠右擊【SQL Server 代理】,選擇【啟動(S)】,如已啟動,可以省略此步驟;
--3.展開【SQL Server 代理】列表,右擊【作業】--【新建作業】;
--3.1 在【常規】選項卡中:
-- 輸入作業名稱,如My Job;
--3.2 在【步驟】選項卡中:
--3.2.1 點擊【新建】,輸入【步驟名稱】,如步驟1,類型默認T-SQL腳本,也可以選擇SSIS包等;
--3.2.2 在【資料庫】一欄選擇要作業處理的資料庫,在【命令】的右邊空白編輯欄輸入要執行的SQL代碼,
EXEC p_Name --如:執行一個P_Name的存儲過程
-- 也可以點擊命令下面的【打開】,打開.sql腳本;
--3.2.3 輸入運行腳本後,建議點擊【分析】,確保腳本語法正確,然後點擊下面的【確定】按鈕;
--3.3 在【計劃】選項卡中:
--3.3.1 點擊【新建】,輸入【計劃名稱】,如計劃1,計劃類型默認是重復執行,也可以選擇執行一次等;
--3.3.2 在【頻率】--【執行】處選擇每天、每周或每月,以每天為例,間隔時間輸入間隔幾天執行一次,
-- 下面還可以選擇每天一次性執行或間隔一定的時間重復執行
--3.3.3 在【持續時間】中選擇計劃開始執行的【起始日期】和【截止日期】,然後點擊【確定】按鈕;
--注意要將服務設置為自動啟動,否則在重啟伺服器後作業就不運行了。
--啟動代理服務的方法:
--開始--運行--輸入services.msc--找到【SQL Server 代理】的服務並雙擊--【啟動類型】選擇自動--【確定】
--至此,定時作業已創建完畢。

F. 求一個sql語句。查詢出來每一天的產生數據的條數。

是這樣的,首先你需要在表A中創建一個「時間」列,假設我們取名為「time」,然後我們將js傳入的時間段命名為「timeStart」及「timeEnd」,然後sql語句就可以寫出來啦:
select count(*) from A where time between timeStart and timeEnd

G. 一條sql 語句查詢用戶表,返回每天的用戶量和時間

一條sql 語句查詢用戶表,返回每天的用戶量和時間
語句如下:
selct 日期,count(用戶id) as 用戶量 from 用戶表
group by 日期
運行即可,這是分鍾查詢。

H. 如何將一條sql語句每天定時的執行,執行完了,自動發出簡訊

1 使用sql的job來實現sql的定時執行
2 執行完時,將簡訊信息寫入一張有關的信息表。
3 另外一個簡訊服務程序,不停查找待發簡訊,並發送

I. 要寫一條SQL語句或者存儲過程插入日期,也就是第個月每天的日期。

建一個存儲過程
在裡面寫個循環就行了
datetime
:=
20120407--起點值
while
datetime<20150428
loop
--截止時間
sqlstr='insert
into
calendar(c_date)
values('||datetime||')';
execute
immediate
sqlstr;
datetime=to_char(to_date(datetime,'yyyymmdd')+1,'yyyymmdd');--取下一天
end
loop;