當前位置:首頁 » 存儲配置 » 存儲過程創建表

存儲過程創建表

發布時間: 2022-01-30 04:59:33

存儲過程建表

create procere sj6601
begin
drop table sj6601; --應該是這樣吧
create table sj6601 as select * from bd_invbasdoc;
end
go

sql server 存儲過程動態創建表 不知如何著手

既然是生成新表,你可以定義一個參加拼湊sql語句,游標抓出proName的值,作為表名,sql_str = 'create table '+表名+'(colname varchar(100))',然後游標抓出txtLog的值,作為表裡的值,這時候sql_str+='insert into 表名 values('+txtLog的值+')'

㈢ 【50分】如何寫創建表的存儲過程

create or replace procere P_test(
start_time in varchar2,
end_time in varchar2
)
as
begin
execute immediate 'CREATE TABLE OCT_T_COMMON_SYMPTOM AS SELECT DISTINCT B.* FROM T_EHR A INNER JOIN T_COMMON_SYMPTOM B
ON A.EHR_ID=B.EHR_ID WHERE EHR_DATE between '''||start_time||''' and '''||end_time||'''';

execute immediate 'CREATE TABLE OCT_T_COMMON_DIAGNOSIS AS SELECT DISTINCT B.* FROM T_EHR A INNER JOIN T_COMMON_DIAGNOSIS B
ON A.EHR_ID=B.EHR_ID WHERE EHR_DATE between '''||start_time||''' and '''||end_time||'''';
exception
when others then
dbms_output.put_line(sqlerrm);
end;

ps:要確保你上面表的欄位EHR_DATE為varchar2類型才行,否則要作對應修改.

㈣ Sql 存儲過程創建表的問題!

把創建語句拼成字元串 存儲過程中用exec去執行創建

㈤ oracle 存儲過程建表

這個過程就行了。。
create or replace procere wym
authid current_user
is
vn_ctn number(2);
begin
select count(*) into vn_ctn from user_all_tables a where a.table_name like upper('invbasdoc');
if vn_ctn > 0 then
execute immediate 'drop table invbasdoc';
end if;
execute immediate 'create table invbasdoc as select * from test_abcd';
end ;

原來的過程中:execute immediate 'drop table invbasdoc'; 當如果資料庫中不存在這張表的時候就會報錯的。。
上面是對資料庫中是否存在表進行了判斷,因此能夠避免「表不存在」這樣的錯誤。。

㈥ oracle存儲過程創建表

CREATE OR REPLACE PROCEDURE list_xs_name as
str_sql varchar2(2000);
begin
str_sql := 'create global temporary table xs_name (xh int,name varchar2(255),kc varchar2(255),fs int) on commit preserve rows';
execute immediate str_sql;
str_sql := 'select * from xs_name';
execute immediate str_sql;
dbms_output.put_line(str_sql);
END;

㈦ 基於這張表,怎樣用存儲過程創建表

TYPE_CODE

㈧ 怎樣用存儲過程創建表使用變數

可以這樣:
delcare @sqlstr varchar(8000)
declare @i int
while (@i>0)
begin
set @sqlstr = 'CREATE TABLE TABLE_'+cast(@I as varchar)+'(...)'
exec(@sqlstr)
set @i=@i-1
end

㈨ oracle如何用存儲過程建表

說的不明白
1.建什麼樣的表?
2.欄位是怎麼樣的變數?
3.表內的數據怎麼來?僅僅是一個表嗎?

參數是怎麼來的?輸入的參數還是按照日期來的?
變數名是怎麼來的?手動輸入的欄位名參數還是怎麼?
我看你就把你想做什麼說出來,你這樣沒法弄
----------------------------------------------------------------------
PROCEDURE SP_CREATE_new_table
(
on_flag OUT NUMBER,
out_reason OUT VARCHAR2
)
is
v_sql1 varchar2(2000);
v_a varchar2(1);
v_b varchar2(1);
v_c varchar2(1);

begin

select 'a' into v_a from al;
select 'b','c' into v_b,v_c from al;

v_sql1 :='create table '||v_a||'('||v_b||' varchar2(1),'||v_c||' varchar2(1))';
EXECUTE IMMEDIATE v_sql1;

commit;

EXCEPTION
WHEN OTHERS
THEN
on_flag := SQLCODE;
out_reason := SUBSTR (SQLERRM, 1, 255);
ROLLBACK;
END;

有什麼看不懂的就問吧
運行後,執行select * from a;
表名就叫a,欄位名叫b和c,都是按你說的

熱點內容
告訴我解除密碼是多少 發布:2024-09-22 23:58:11 瀏覽:754
預演算法實施條例新 發布:2024-09-22 23:56:36 瀏覽:539
存儲過程遠程資料庫 發布:2024-09-22 23:32:12 瀏覽:519
存儲掛載空間 發布:2024-09-22 23:29:49 瀏覽:95
android顯示電量 發布:2024-09-22 23:16:48 瀏覽:284
pythonasciitoutf8 發布:2024-09-22 23:15:50 瀏覽:233
8110pos機後台密碼是多少 發布:2024-09-22 22:59:10 瀏覽:608
數理演算法 發布:2024-09-22 22:54:33 瀏覽:54
python學習視頻 發布:2024-09-22 22:49:37 瀏覽:777
智聯尊享是什麼配置 發布:2024-09-22 22:48:40 瀏覽:589