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

時間 2021-12-28 22:02:54

1樓:灰熊度爛

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

2樓:匿名使用者

給你參考下:

1 游標處理

begin

declare @sql varchar(200);

declare @name varchar(10);

set @sql='declare cur cursor for select [name] from test_dysql';

exec(@sql);

open cur;

fetch next from cur into @name;

while @@fetch_status=0

begin

print @name;

fetch next from cur into @name;

endclose cur;

deallocate cur;

end帶引數

begin

declare @sql nvarchar(200);

declare @id int;

declare @name varchar(10);

set @id = 1;

set @name = 'c';

set @sql = 'select * from test_dysql where id=@id or name=@name';

print @sql;

exec sp_executesql @sql, n'@id int, @name varchar(10)', @id, @name;

end賦值

begin

declare @sql nvarchar(200);

declare @name varchar(10);

set @sql = 'select @name = name from test_dysql where id=1';

print @sql;

exec sp_executesql @sql, n'@name varchar(10) output', @name output;

print @name;end

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

3樓:救救大漢江山吧

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

4樓:殤忄路

額 什麼問題呢?

你要建立儲存過程?

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;

5樓:解憂解憂雜貨鋪

/****** 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

傳引數直接傳表名稱

6樓:匿名使用者

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

sqlserver的儲存過程怎麼寫

sql server中如何儲存 首先準備資料,測試儲存過程 use ssqadm 建立測試books表 create table books test book id int identity 1,1 primary key,book name varchar 20 book price float...

sql儲存過程輸出引數,sql server 中 乙個要輸入引數和輸出引數的儲存過程。

mysql教程4 mysql8運算子 函式 儲存過程及新增資料型別 17.之建立帶有in和out引數的儲存過程 學習猿地 sql server 中 乙個要輸入引數和輸出引數的儲存過程。1 首先我們需要開啟sql server managment管理工具,新建乙個表。2 然後在表中插入一些樣例資料,如...

求助sql server儲存過程的問題

判斷變數是否為null要用is null的如下 create procedure lianxi transtype varchar 20 cabit 32 varchar 20 nullasif cabit 32 is nullbegin select from zhilianend else be...

如何在SQL Server裡面編寫儲存過程,來實現刪除表中的重覆記錄

用乙個臨時表記錄一條你需要刪除其重複項的記錄,然後用delete刪除表裡面的記錄後再insert回去。具體create procedure可以看mysql docs manual.chm 如果是我,我就會偷懶 用access連線sql 用access的自動生成的查詢重複項查詢 然後刪除 假設你要處理...

sqlserver儲存過程返回結果集的例子

返回結果集不用output,直接select出來的結果集就能返回 在應用程式或網頁程式中用你呼叫儲存過程的這個物件像普通記錄集乙個呼叫就好了 如果是在查詢分析器中執行,可以在下面的 網格 中直接看到返回的這個結果集 vb獲取sql server儲存過程返回的結果集 怎樣讓sqlserver的儲存過程...