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

存儲過程創建表

發布時間: 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,都是按你說的

熱點內容
網易我的世界官方開伺服器 發布:2025-03-16 08:16:57 瀏覽:42
王者榮耀密碼怎麼改 發布:2025-03-16 08:16:24 瀏覽:571
安卓隱藏的游戲在哪裡 發布:2025-03-16 08:05:31 瀏覽:332
嵌入式伺服器搭建 發布:2025-03-16 07:53:28 瀏覽:684
安卓系統微信登錄設備管理在哪裡 發布:2025-03-16 07:44:55 瀏覽:510
青少兒編程品牌 發布:2025-03-16 07:43:24 瀏覽:633
江西電商存儲設備怎麼樣 發布:2025-03-16 07:32:10 瀏覽:310
中信電話密碼是多少 發布:2025-03-16 07:32:08 瀏覽:373
怎麼樣學好編程 發布:2025-03-16 07:31:24 瀏覽:576
python輸出素數 發布:2025-03-16 07:31:21 瀏覽:431