sql: TRIGGER

--Common Table Expressions(CTE)
WITH HighSample (SampleId,SampleTitle,SampleContent) AS
(
    SELECT SampleId,SampleTitle,SampleContent From CompetitionSample
    WHERE SampleId>1
)
SELECT * From HighSample

--游标
DECLARE curSample INSENSITIVE CURSOR
FOR SELECT TOP 10 SampleId,SampleTitle,SampleContent FROM CompetitionSample
DECLARE @SampleId int
DECLARE @SampleTitle nvarchar(540)
Declare @SampleContent nvarchar(1000)
Open curSample
FETCH NEXT FROM curSample INTO @SampleId,@SampleTitle,@SampleContent
WHILE @@Fetch_Status=0
  BEGIN
    PRINT @SampleTitle+‘,‘[email protected]
    Fetch NEXT FROM curSample Into @SampleId,@SampleTitle,@SampleContent
  END
CLOSE curSample
DEALLOCATE curSample

--N到M条记录(要有主索引ID)
--Select Top M-N * From 表 Where ID in (Select Top M ID From 表) Order by ID   Desc
select * from ShoppingCouponsList
Select Top (15-10) * From ShoppingCouponsList Where ShoppingCouponsID in (Select Top 15 ShoppingCouponsID From ShoppingCouponsList) Order by ShoppingCouponsID   Desc

--触发器(添加,修改)
--text,ntext 无法创建约束,可以用此方法
drop TRIGGER Sample_insert

CREATE TRIGGER DuSample_insert
ON CompetitionSample
FOR INSERT,UPDATE AS --常见的触发器有三种:分别应用于Insert , Update , Delete 事件
declare @s nvarchar(500)
set @s=‘err,geovindu‘
IF EXISTS (SELECT * FROM  CompetitionSample  where charindex(‘</title>‘,SampleContent)=1)
begin
ROLLBACK TRANSACTION
RAISERROR(‘有非法字符‘,16,1,@s)
end

--修改不了
update CompetitionSample set SampleContent=‘</title>‘ where SampleId=‘1‘
--添加不了
insert into CompetitionSample(SampleTitle,SampleBrandId,SamplePlatformId,SampleSmallPic,SampleContent,SampleAuthor,SampleIs)
 values(‘d2‘,1,1,‘gif‘,‘</title>2‘,‘g2‘,0)

select * from CompetitionSample where charindex(‘</title>‘,SampleContent)=1
时间: 2024-09-28 00:48:59

sql: TRIGGER的相关文章

SQL Trigger(触发器)

1.触发器对表进行插入.更新.删除的时候会自动执行的特殊存储过程. 2.触发器一般用在check约束更加复杂的约束上面. 3.触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作. 4.update.insert.delete这些操作的时候,系统会自动调用执行该表上对应的触发器. 5.触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,当对一个表进行操作( insert,delete, update)时就会激活它执行,触发器经常用于加强数

GoldenGate单向复制配置示例

一:环境介绍 --source端 ip地址:192.168.123.100.10 数据库版本:11.2.0.1.0 32 bit 操作系统版本:centos 4.5 32 bit ogg版本:fbo_ggs_Linux_x86_ora11g_32bit.tar --target端 ip地址:192.168.123.100.11 数据库版本:11.2.0.1.0 32 bit 操作系统版本:centos 4.5 32 bit ogg版本:fbo_ggs_Linux_x86_ora11g_32bit

Goldengate 实现Oracle for Oracle 单向DDL操作同步

在http://lqding.blog.51cto.com/9123978/1695162 文章中我们实现了表的DML操作同步. 我们做如下测试 在源端执行表的truncate SQL> truncate table tcustmer; Table truncated. 在目的端,查看表数据 SQL> select count(*) from tcustmer;   COUNT(*) ----------  2 数据并没有同步 我们如何让Goldengate实现DDL操作的同步呢? 要想支持D

搭建一个Oracle到Oracle的Goldengate双向复制环境

目标:搭建一个Oracle到Oracle的Goldengate双向复制环境(支持DDL+DML). 环境: OS:Red Hat Enterprise Linux Server release 5.5 (Tikanga) DB:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production gg1和gg2互为source和target,所处OS和所安DB均一样. 一.安装GG 在gg1和gg2都运行例如以下操作: (1

Zero Downtime Upgrade of Oracle 10g to Oracle 11g Using GoldenGate — 3

DDL Setup Steps SQL> grant execute on utl_file to ggs; Grant succeeded. Create GLOBALS file [[email protected] ~]$ cd /ggs/ [[email protected] ggs]$ cat GLOBALS GGSCHEMA GGS run marker_setup.sql [[email protected] ggs]$ sqlplus / as sysdba SQL*Plus:

【Oracle】undo损坏,无备份非常规恢复

客户的一个测试环境,主机异常断电,启动后发现undo文件损坏,无法启动,在open阶段报错如下: Errors in file /u01/app/oracle/diag/rdbms/cdrdb/CDRDB/trace/CDRDB_ora_4109.trc: ORA-01122: database file 3 failed verification check ORA-01110: data file 3: '/u01/app/oracle/oradata/CDRDB/undotbs01.dbf

【OGG】RAC环境下配置OGG单向同步 (四)

[OGG]RAC环境下配置OGG单向同步 (四) 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① RAC环境下配置OGG单向同步 注意:本篇BLOG中代码部分需要特别关注的地方我都用黄色背景和红色字体来表示,比如下边的例子中,thread 1的最大归档日志号为33,thread 2的最大归档日志号为43是需要特别关注的地方. List of Archived Lo

搭建oracle到oracle的Goldengate双向复制环境

目标:搭建一个Oracle到Oracle的Goldengate环境(支持DDL+DML). Goldengate结构介绍: 环境: OS:Red Hat Enterprise Linux Server release 5.5 (Tikanga) DB:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production gg1和gg2互为source和target,所处OS和所安DB均一样. 一.安装GG 在gg1和gg2都

配置部署Oracle Goldengate Version 11.2.1.0.1

配置用户环境变量 vi .bash_profile 添加: export OGG_HOME=/data0/temp/ogg LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH 查看数据是否开启归档 SQL> archive log list: --Enabled Configuring logging properties Oracle GoldenGate relies on the redo logs