标签:
--Oracle: DECLARE n_count int; begin Select count(*) into n_count from from M_Test where ENTITYLSH = 1; dbms_output.put_line(n_count); end; --sql server: declare @is_exist_alert3 int; Select @is_exist_alert3=count(*) from M_Test where ENTITYLSH = 1; print(@is_exist_alert3);
以上单从表达意思上更改,还有其他差别
触发器中使用时所遇到的区别
--oracle CREATE OR REPLACE TRIGGER TR_INST_ALARM BEFORE INSERT ON M_ALARM FOR EACH ROW BEGIN select ENTITY_SEQ.NEXTVAL into :new.ENTITYLSH from dual; select ‘A_‘ || trim(to_char(:new.ENTITYLSH, ‘00000000‘)) into :new.ALARMINDEX from dual; END; --ENTITY_SEQ.NEXTVAL取序列下一个 --第一个select语句意思是取序列下一个值赋值给系统表(new)中的ENTITYLSH字段 --第二个select语句意思是修改系统表(new)中的ENTITYLSH字段的标示方法并插入 --new相当于插入表,是系统维护的与你触发此触发器的插入语句中的表结构一样 --Sql server CREATE TRIGGER TR_INST_ALARM ON M_ALARM instead of insert AS BEGIN DECLARE @index VARCHAR(20),@Orderindex VARCHAR(20); select @index=next value for ENTITY_SEQ; select @Orderindex= ‘A_‘+rtrim(ltrim(right(cast(‘00000000‘+rtrim(cast(@index as int)) as varchar(20)),10))) INSERT INTO M_ALARM select @index ,@Orderindex ,ALARMDEPARTMENT ,TYPEMETHODINDEX ,ALARMPHENOMENON ,ENTITYTYPE from Inserted ; END; --意思与上边一样, --insert类似于oracle中的new
Oracle Select into 用Sql server替换
标签:
原文地址:http://www.cnblogs.com/wangboke/p/5523240.html