存儲過程創建表
㈠ 存儲過程建表
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,都是按你說的
