直接將表名也改為varchar(50) 就行了
要不你就用預執行
if exists(select * from sysobjects where name='proc_select')
drop proc proc_select
go
create proc proc_select
@table varchar(50)
as
declare @sql varchar(8000)
set @sql='select * from '+@table
exec(@sql)
go
exec proc_select 'Types'
Ⅱ mysql存儲過程實例(要求從一張表中的數據轉存到另外一張表中,兩張表中的欄位基本一樣)菜鳥求大神幫幫
createproceretest_sp()
begin
insert基高滲intotest001(id)
select念禪id
from搏脊test002;
end;
要這樣?
Ⅲ 存儲過程,轉換成數據類型 int 時失敗
可以定義一個游標
把字元串取出來,然後用分隔扒悄符拆分
然後把每個薯罩數值字元串分別轉換成數此鬧int
再相加
Ⅳ 如何用存儲過程實現將同一資料庫中一個表的部分數據導入另一表中
可以將一個表中的部分數據先查詢出現存到一個臨時表中,然後從臨時表中一條一條的取出來,添加到另一張表中,
也可以不用臨時表,直接將查詢出來的數據添加到另一張表中
Ⅳ 如何在sql server存儲過程中轉化數據類型
不一定非要在存儲過程中轉換,用普通的sql語句就可以,一般用cast函數。
測試方法:
創建表及插入數據:
create知答tabletest
(idint,
starttimevarchar(20));
insertintotestvalues(1,'2015-07-11');
將starttime欄位轉化為datetime類型:
selectcast(starttimeasdatetime)fromtest;
結果如圖燃辯,這皮猛缺時,starttime就轉成了datetime類型:
Ⅵ sqlserver 存儲過程 將左邊數據格式轉成右邊數據格式存放
數據如下:
Ⅶ SQL server 存儲過程varchar到int類型轉換
/*
存儲過程的return只能返回int類型的數據,並且只這樣接收返回值的
declare@Aint
Exec@A=P_判斷是否閏年
select@A
*/
--你可以改成這樣
alterprocP_判斷是否閏年
as
begin
declare@時間int
set@時間=datepart(year,'2000-02-01')
selectCASEWHEN(@時間%4=0AND@時間%100<>0)or(@時間%400=0)then'是閏年'
else'不是閏年'
end
end
--也可以這樣
alterprocP_判斷是否閏年(@RstVarchar(10)output)
as
begin
declare@時間int
set@時間=datepart(year,'2000-02-01')
Set@Rst=CASEWHEN(@時間%4=0AND@時間%100<>0)or(@時間%400=0)then'是閏年'
else'不是閏年'
end
end
/*
declare@Avarchar(10)
ExecP_判斷是否閏年@Aoutput
select@A
*/
Ⅷ oracle如何用存儲過程完成遷移數據
直接新建一個Job,扒神敏裡面些匿名PLSQL程瞎滾序塊春枝即可:
BEGIN
INSERT INTO B
SELECT A.ID, A.ANAME, A,ATYPE
FROM A
WHERE NOT EXISTS(
SELECT 1 FROM B WHERE B.BID = A.AID AND B.BNAME=A.ANAME);
END;
/
Ⅸ sql server編寫一個存儲過程,完成兩個變數數據的交換。
--創建存儲過程
createproceretest(@avarchar(10)output,@bvarchar(10)output)
as
begin
declare@cvarchar(10)
set@c=@a
set@a=廳鉛@b
set@b=@c
end
go
--測試指御
declare@avarchar(10)
declare@bvarchar(10)
set@a='a'
set@b=扮逗好'b'
exectest@aoutput,@boutput
--取結果查看
select@aa,@bb
Ⅹ mysql利用存儲過程實現批量處理數據的簡單操作
-- 判斷存儲test是否存在,如果存在談謹則刪除
DROP PROCEDURE IF EXISTS test;
-- 創建存儲過程
CREATE PROCEDURE test()
BEGIN
-- 聲明循環變數int型 i
DECLARE i INT DEFAULT 1;
-- 設置i=0
set i=0;
-- 循環100次
while i<100 do
-- if判斷i為偶數
if i%2 = 0 THEN
-- 要實現的操作 CONCAT(str1,str2,...) concat函數用於拼接子串和數字類型
INSERT into user(name,addr) VALUES(CONCAT('test',i,'ss'),'addr');
end if;
-- i自洞攔增含顫基
set i=i+1;
END WHILE;
END;
-- 調用存儲過程
CALL test()