0

0

oracle VS sql server脚本语法

php中文网

php中文网

发布时间:2016-06-07 15:31:10

|

1417人浏览过

|

来源于php中文网

原创

CREATE TABLE "LUO"."LOGIN_RECORD" ( "USER_NAME" VARCHAR2(10) NOT NULL, "USER_PASSWD" VARCHAR2(10) NOT NULL, "RECORD_TIME" DATE DEFAULT sysdate NOT NULL, "SUCCESS" VARCHAR2(10) NOT NULL ) ; CREATE TABLE "LUO"."LOGIN" ( "USER_NAME" VARCHAR2(


create table "luo"."login_record" (
 "user_name" varchar2(10) not  null, 
 "user_passwd" varchar2(10) not null, 
 "record_time" date default sysdate not null,
 "success" varchar2(10) not null  
)  ;

CREATE TABLE "LUO"."LOGIN" (
 "USER_NAME" VARCHAR2(10) NOT NULL, 
 "USER_PASSWD" VARCHAR2(10) NOT NULL
)  ;

 


CREATE OR REPLACE TRIGGER "LUO"."LOGIN_RECORD_TRIGER" 
BEFORE INSERT ON "LUO"."LOGIN" FOR EACH ROW 
BEGIN
    INSERT INTO LOGIN_RECORD VALUES(
   :new.USER_NAME,
   :new.USER_PASSWD,
   sysdate,
 'HI'
 );
END;

 

--创建存储过程
CREATE OR REPLACE PROCEDURE LOGIN_PROCEDURE(
 usern IN LUO.LOGIN.USER_NAME%TYPE, passwd IN LUO.LOGIN.USER_PASSWD%TYPE
)AS
 count_num INTEGER ;
BEGIN
 SELECT COUNT(*)
 INTO count_num
 FROM LOGIN
 WHERE LOGIN.USER_NAME = usern
  AND LOGIN.USER_PASSWD = passwd;
 IF count_num = 0 THEN
  INSERT INTO "LUO"."LOGIN_RECORD" VALUES(usern,passwd,sysdate,'failure');
  DBMS_OUTPUT.PUT_LINE('LOGIN FAILD!');
 ELSE 
  INSERT INTO "LUO"."LOGIN_RECORD" VALUES(usern,passwd,sysdate,'success');
  DBMS_OUTPUT.PUT_LINE('LOGIN SUCCESS!');
 END IF;
 COMMIT;
EXCEPTION 
 WHEN OTHERS THEN
  DBMS_OUTPUT.PUT_LINE('EXCEPTION OCCURED!');
  ROLLBACK;
END LOGIN_PROCEDURE;

/

 

下面是sql server的语法:

--RecordLoginWithTrigerUseSql.SQL - Creates the LabTest database                                                                              
--Author: Luo Weifeng
--Time :  2010-6-23
--All Rights Reserved.

--切换到master数据库
USE master

-- 查询有没有以我们期望的数据名为名的数据库,存在则删除
if exists (select * from sysdatabases where name='LabTest')
begin
  raiserror('Dropping existing LabTest database ....',0,1)
  DROP database LabTest
end
GO

PicWish
PicWish

推荐!专业的AI抠图修图,支持格式转化

下载

-- 创建数据库(大小等用默认值)
CREATE DATABASE LabTest
GO

-- 进入新建数据库创建表
USE LabTest
GO

-- 检查是否正确
if db_name() 'LabTest'
   raiserror('Error in RecordLoginWithTrigerUseSql.SQL, ''USE LabTest'' failed!  Killing the SPID now.'
            ,22,127) with log
GO


--创建历史记录表
CREATE TABLE LOGIN_RECORD (
 "USER_NAME" VARCHAR(10) NOT  NULL, 
 "USER_PASSWD" VARCHAR(10) NOT NULL, 
 "RECORD_TIME" DATE NOT NULL DEFAULT( getdate() ),
 "SUCCESS" VARCHAR(10) NOT NULL  
)  
Go

--创建用户名/密码表
CREATE TABLE "LOGIN" (
 "USER_NAME" VARCHAR(10) NOT NULL, 
 "USER_PASSWD" VARCHAR(10) NOT NULL
)  
GO

-- 检查出错
raiserror('Now at the create trigger div ...',0,1)
GO

-- 创建触发器

CREATE TRIGGER LOGIN_RECORD_TRIGER 
ON LOGIN
FOR INSERT
AS
BEGIN
 DECLARE @new_name VARCHAR(10);
 DECLARE @new_passwd VARCHAR(10);
 SET @new_name = (SELECT INSERTED.USER_NAME FROM INSERTED)
 SET @new_passwd = (SELECT INSERTED.USER_PASSWD FROM INSERTED) 
 
    INSERT INTO LOGIN_RECORD VALUES(
   @new_name,
   @new_passwd,
   getdate(),
 'HI'
 );
END

CREATE PROCEDURE LOGIN_PROCEDURE
 (
 @usern VARCHAR(10), 
 @passwd VARCHAR(10)
 )
AS
BEGIN
 DECLARE @count_num INTEGER;
 SET @count_num = ( SELECT COUNT(*) 
      FROM LOGIN
      WHERE LOGIN.USER_NAME = @usern
       AND LOGIN.USER_PASSWD = @passwd)  
  
 
 IF (@count_num = 0) 
 BEGIN
  INSERT INTO LOGIN_RECORD VALUES(@usern,@passwd,getdate(),'failure')
 END
 ELSE 
 BEGIN
  INSERT INTO LOGIN_RECORD VALUES(@usern,@passwd,getdate(),'success')
 END
END

 

写的不好,拿出来见笑了,只为那些需要的人提供一些东东吧。

相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
SQL 教程
SQL 教程

共61课时 | 3.1万人学习

Java 教程
Java 教程

共578课时 | 37.2万人学习

oracle知识库
oracle知识库

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号