begin之前好像只可以定義,不可以執(zhí)行select,再就是declare后面結(jié)束時,是用分號,不是逗號。
創(chuàng)新互聯(lián)建站主要從事網(wǎng)站設(shè)計、做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)龍崗,十載網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
還有就是好像沒有to_date(t,'yyyy-mm-dd')
clock
to_date(m,'yyyy-mm-dd');
這種寫法,必須得分開寫
to_date(t,'yyyy-mm-dd')
clock
and
to_date(m,'yyyy-mm-dd')
設(shè)置環(huán)境變量(修改PATH和TNS_ADMIN環(huán)境變量):
對于NLS_LANG環(huán)境變量, 最好設(shè)置成和數(shù)據(jù)庫端一致, 首先從數(shù)據(jù)庫端查詢字符集信息:
如圖,以system普通用戶登陸就好,進(jìn)去后新建一個SQL WINDOW,輸入
SQL select userenv('language') nls_lang from dual;
我的電腦結(jié)果為
NLS_LANG
----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK
右擊"我的電腦" - "屬性" - "高級" - "環(huán)境變量" - "系統(tǒng)環(huán)境變量":(win8.1系統(tǒng),自己上網(wǎng)查怎么找出高級中的系統(tǒng)變量)
1.選擇"Path" - 點擊"編輯", 把 "D:\app\orcl\product\instantclient_12_1;" 加入;
2.點擊"新建", 變量名設(shè)置為"TNS_ADMIN", 變量值設(shè)置為"D:\app\orcl\product\instantclient_12_1;", 點擊"確定";
3.點擊"新建", 變量名設(shè)置為"NLS_LANG", 變量值設(shè)置為"AMERICAN_AMERICA.ZHS16GBK", 點擊"確定";
最后點擊"確定"退出.
這樣就全部結(jié)束了。
存儲過程或者plsql程序段中?
plsql程序段:
declare
va number(10);
vb varchar(20);
create?or?replace?procedure?p_insert
(a??varchar2(8))
as
begin
insert?into?table1?select?*?from?table2?where?"date"=a;??
commit;
end;
上邊是創(chuàng)建
執(zhí)行時
begin
p_insert('20110101')?;
end;
說一下,你這個a和表2里的類型必須都一致,都要是字符型,如果不是的話,輸入?yún)?shù)a不可以變,你可以在表2里用to_char函數(shù)將日期轉(zhuǎn)成這個格式
還有你表2里的字段叫date,這個是關(guān)鍵字,所以加了雙引號