/**下面以CS_USER为列子,数据是MYSQL**/
/**删除表是否存在**/
DROP TABLE IF EXISTS CS_USER;
/**创建表**/
CREATE TABLE CS_USER(
ID BIGINT(38) AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(20),
EMPNO VARCHAR(20),
DELFLAG INT
);
/**添加数据**/
INSERT INTO CS_USER(NAME,EMPNO,DELFLAG) VALUES('张三','100010',0);
INSERT INTO CS_USER(NAME,EMPNO,DELFLAG) VALUES('张狼','100011',0);
INSERT INTO CS_USER(NAME,EMPNO,DELFLAG) VALUES('李四','100012',0);
/**创建索引**/
ALTER TABLE CS_USER ADD INDEX CS_USER_EMPNO(EMPNO);
/**删除索引**/
DROP INDEX CS_USER_EMPNO ON CS_USER;
/**创建视图**/
CREATE VIEW CS_JCXX_VIEW
AS
SELECT ID ,NAME,EMPNO FROM CS_USER;
/**删除视图**/
DROP VIEW IF EXISTS CS_JCXX_VIEW;
/**删除存储过程**/
DROP PROCEDURE IF EXISTS CS_JCXX_PROC;
/**创建不带参数无返回值存储过程**/
CREATE PROCEDURE CS_JCXX_PROC()
BEGIN
SELECT ID ,NAME ,EMPNO FROM CS_USER;
END
/**创建带返回值OUT(返回值) PRAMR1参数的存储过程**/
DROP PROCEDURE IF EXISTS CS_USER_PROC;
CREATE PROCEDURE CS_USER_PROC(OUT RESULTLIST INT)
BEGIN
SELECT COUNT(*) FROM CS_USER;
END
/**创建带输入参数的 IN(代表输入)存储过程**/
DROP PROCEDURE IF EXISTS CS_USER_BYEMPNO_PROC;
CREATE PROCEDURE CS_USER_BYEMPNO_PROC(IN EMPNO VARCHAR(20))
BEGIN
SELECT ID,NAME,EMPNO FROM CS_USER U WHERE 1=1 AND U.EMPNO=EMPNO;
END
/**创建INOUT带输入参数和返回参数存储过程****/
DROP PROCEDURE IF EXISTS CS_USER_BYID_PROC;
CREATE PROCEDURE CS_USER_BYID_PROC(INOUT ID INT)
BEGIN
SELECT ID,NAME,EMPNO FROM CS_USER U WHERE U.ID=ID;
IF(ID IS NOT NULL)THEN
SET ID=ID+1;
SELECT ID ,NAME ,EMPNO FROM CS_USER U WHERE U.ID=ID;
END IF;
END
/**调用输出参数存储过程**/
SET @COUNT=1;
CALL CS_USER_PROC(@COUNT);
/**调用输入参数存储过程**/
SET @EMPNO='100010';
CALL CS_USER_BYEMPNO_PROC(@EMPNO);
/**调用INOUT存储过程**/
SET @ID=1;
CALL CS_USER_BYID_PROC(@ID);