在sqlserver 下想復(fù)制一張表的,想到oracle下直接create table xxx as select * from ....即可。但是結(jié)果卻是錯(cuò)誤的,baidu一下發(fā)現(xiàn)。sqlserver的語法是 : select * into tablenew from tableold
CREATE TABLE #TemTable AS SELECT * FROM PlatformCoinExchangeRecord;
SELECT * INTO #TemTable FROM PlatformCoinExchangeRecord;
SELECT * FROM #TemTable;
DROP TABLE #TemTable;
CREATE TABLE #TemTable
(TotalOnlineDuration bigint,
ByPlayDuration int,
TotalPlayTimes int,
Task30 int,
Task60 int,
Task120 int);
INSERT INTO #TemTable exec NET_PW_GetPlayDurationTask 539;
SELECT * from #TemTable;
DROP TABLE #TemTable;
臨時(shí)表可能創(chuàng)建后可能應(yīng)為其他原因?qū)е聸]有執(zhí)行到drop,這樣下次執(zhí)行的時(shí)候臨時(shí)表還存在,所以創(chuàng)建臨時(shí)表以后最好會(huì)是做異常處理在catch中強(qiáng)制銷毀。
CONTINUE HANDLE mysql可以用這個(gè)東西
CREATE TEMPORARY table IF NOT EXISTS alarmLeveltb
( devID bigint not null,
alarmLevel bigint not null
);
truncate TABLE alarmLeveltb;--清空表中的數(shù)據(jù)
如果不存在某個(gè)表就創(chuàng)建,mysql寫法
IF objectproperty(object_id(@DbTableFileName),
'IsUserTable'
)
IS
NOT
NULL
PRINT
'EXISTS '
ELSE
PRINT
'NOT EXISTS '
貌似沒有找到直接創(chuàng)建的辦法,所以要約定好結(jié)果集