sql 儲存過程建立表的問題,Sql 儲存過程建立表的問題!

時間 2021-12-28 09:14:21

1樓:救救大漢江山吧

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

2樓:殤忄路

額 什麼問題呢?

你要建立儲存過程?

create or replace procedure test_pro(p_name in varchar2,

out_msg out varchar2) --定義輸入引數p_name 輸出引數out_msg

isbegin

execute immediate 'create table ' || p_name || '_clientuser (....)';

exception

when others then

--將執行錯誤放到輸出引數裡

out_msg := substr(sqlerrm, 1, 20);

end;

3樓:解憂解憂雜貨鋪

/****** object: storedprocedure [dbo].[createtablebypar] script date:

09/27/2014 17:09:31 ******/

set ansi_nulls on

goset quoted_identifier on

gocreate procedure [dbo].[createtablebypar]

(@tablename nvarchar(50)

)asdeclare @createtablename nvarchar(500)

set @createtablename = @tablename

if exists (select * from sys.objects where object_id = object_id(n'[dbo].'+@tablename) and type in (n'u'))

begin

declare @deltable nvarchar(500)

set @deltable='drop table '+@tablename

exec (@deltable)

endelse

begin

declare @createtable nvarchar(1000)

set @createtable='create table '+@createtablename;

set @createtable+='([id] [float] null,

[firstname] [nvarchar](max) null,

[lastname] [nvarchar](max) null,

[email] [nvarchar](max) null,

[company] [nvarchar](max) null,

[countryid] [float] null,

[stateprovinceid] [float] null,

[cityid] [float] null,

[districtid] [float] null,

[city] [nvarchar](max) null,

[address1] [nvarchar](max) null,

[address2] [nvarchar](max) null,

[zippostalcode] [nvarchar](max) null,

[phonenumber] [nvarchar](max) null,

[faxnumber] [nvarchar](max) null,

[createdonutc] [datetime] null,

[consignee] [nvarchar](max) null,

[active] [float] null

) on [primary] '

print @createtable

exec (@createtable )

endreturn

傳引數直接傳表名稱

4樓:匿名使用者

mysql教程4 mysql8運算子、函式、儲存過程及新增資料型別 17.之建立帶有in和out引數的儲存過程 學習猿地

關於SQL的儲存過程應用問題

東坡 站 一般分為十種情況,每種語法各不相同 1 建立語法 create proc procedure pro name 預設值 output 預設值 output as sql statements 2 建立不帶引數儲存過程 建立儲存過程 if exists select from sys.obj...

oracle儲存過程的建立和執行問題

1.儲存過程中不能直接select 出結果,定義一些變數 之後select into 變數 2.既然是select就沒有必要用動態sql了,而且你的v sql 拼的有問題 你是在pl sql的sql語句視窗執行的嗎?在sql語句視窗要執行儲存過程的話要用語句塊begin sp ys 201305 5...

資料庫中用儲存過程建立其他剩餘的表

建立其它的表,是表複製還是?mysql在儲存過程中用當前時間作為表名建立表 如果要使用全域性變數不用預先定義。beginset i curdate set sqlstr concat create table i,a int,b int prepare stmt from sqlstr execut...