`
qtlkw
  • 浏览: 309658 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

sql用法

 
阅读更多
case 用法:

SELECT ORDER_ID, EXTERNAL_SOURCE_REF, (case when FIXED_CCY_CD = BASE_CCY_CD then NON_BASE_CCY_CD else BASE_CCY_CD end) as COUNTERCURRENCYID, ORDER_STATE_ID,FIXING_DTS, TO_CHAR(FIXING_DTS, 'DD-MM-YYYY'),TO_CHAR(FIXING_DTS, 'HH24:MI'), (case when BANK_BUYS_FIXED_FG='Y' then 'S' else 'B' end) as SIDE, COMMENT_1_TXT from atable where ...


sql function (SELECT * from table( PKG_Name.FN_SPLIT('a,b,c',',') ) where column_value='a'):
FUNCTION FN_SPLIT (P_SOURCE_STR IN VARCHAR2, P_DELIMITER IN VARCHAR2)
	    RETURN LIST_STR PIPELINED
	IS
	    TARGER_LOCATION INT := 0;
	    START_LOCATION INT := 1;
	    SOURCE_LENGTH INT := 0;
	    DELIMITER_LENGTH INT := 0;
	    RESULT_STR VARCHAR2 (4000);
	BEGIN
	    SOURCE_LENGTH := LENGTH (P_SOURCE_STR);
	    DELIMITER_LENGTH := LENGTH (P_DELIMITER);
	    WHILE TARGER_LOCATION < SOURCE_LENGTH
	    LOOP
	        TARGER_LOCATION := INSTR (P_SOURCE_STR, P_DELIMITER, START_LOCATION);
	        IF TARGER_LOCATION = 0
	        THEN
	            TARGER_LOCATION := SOURCE_LENGTH;
	            RESULT_STR := SUBSTR (P_SOURCE_STR, START_LOCATION);
	            PIPE ROW (RESULT_STR);
	            IF START_LOCATION >= SOURCE_LENGTH
	            THEN
	                EXIT;
	            END IF;
	        ELSE
	            RESULT_STR := SUBSTR (P_SOURCE_STR, START_LOCATION, TARGER_LOCATION - START_LOCATION);
	            START_LOCATION := TARGER_LOCATION + DELIMITER_LENGTH;
	            PIPE ROW (RESULT_STR);
	        END IF;
	    END LOOP;
	    RETURN;
END FN_SPLIT;


PROCEDURE DeleteCounterparty(
    	P_REGION		IN  VARCHAR2
 )
 AS
	PCONUT_STR       VARCHAR2(4000);
	PERROR_STR       VARCHAR2(4000);
	BEGIN
    PERROR_STR := '';
    
	SELECT listagg(column_value, ',' ) within GROUP (ORDER BY column_value) AS REGION INTO PCONUT_STR FROM TABLE(FN_SPLIT(P_REGION,',')) 
		WHERE column_value NOT IN 
		(SELECT a.region FROM
		(SELECT SOURCE_REGION || '|' || TARGET_REGION AS region FROM COUNTERPARTY_MAPPING) a); 
	
	IF (NVL(length(PCONUT_STR),0) > 0) THEN
	 PERROR_STR := PERROR_STR || 'Unsupported Operation: Risk Routing Counterparty Code(s) '''||PCONUT_STR||''' not existed. ';
	END IF;
	
	IF(NVL(length(PERROR_STR),0) > 0) THEN
	 	RAISE_APPLICATION_ERROR (-20001, PERROR_STR);
	ELSE
	 	DELETE FROM COUNTERPARTY_MAPPING where SOURCE_REGION || '|' || TARGET_REGION in (SELECT column_value FROM TABLE(FN_SPLIT(P_REGION,',')));
	END IF;	 
END DeleteCounterparty;

PROCEDURE AddBroker(
    	P_INTERNAL_GROUP 		IN  VARCHAR2,
		P_EXTERNAL_GROUP 		IN  VARCHAR2,
		P_CLIENT_BROKER 				IN  VARCHAR2,
		P_POSITION_BROKER 				IN  VARCHAR2,
		P_USER 							IN  VARCHAR2
 )
 AS
	PCONUT       NUMBER;
	PERROR_STR   VARCHAR2(4000);
	
	BEGIN
	PERROR_STR := '';
	SELECT COUNT(*) INTO PCONUT FROM BROKER_MAPPING WHERE INTERNAL_GROUP=P_INTERNAL_GROUP and EXTERNAL_GROUP=P_EXTERNAL_GROUP;
	IF (PCONUT>0) THEN
		RAISE_APPLICATION_ERROR (-20001, 'Unique Constraint: Internal Trader Broker Mapping '''||P_INTERNAL_GROUP||''' and External Trader Broker Mapping '''||P_EXTERNAL_GROUP|| ''' already existed.');
	ELSE
	   SELECT COUNT(*) INTO PCONUT FROM GROUP_MAPPING WHERE GROUP_ID=P_INTERNAL_GROUP;
	   IF (PCONUT=0) THEN
	   		PERROR_STR := PERROR_STR || 'Unsupported Operation: Trader Group(s) '''||P_INTERNAL_GROUP||'''';
	   END IF;
	   
	   SELECT COUNT(*) INTO PCONUT FROM GROUP_MAPPING WHERE GROUP_ID=P_EXTERNAL_GROUP;
	   IF (PCONUT=0) THEN
	   		IF (NVL(length(PERROR_STR),0) > 0) THEN
	   			PERROR_STR := PERROR_STR || ' and ''' || P_EXTERNAL_GROUP ||''' both do not exist in Risk Trader Group Mapping.';
	   		ELSE
	   			PERROR_STR := PERROR_STR || 'Unsupported Operation: Trader Group(s) '''||P_EXTERNAL_GROUP||''' does not exist in Risk Trader Group Mapping.';
	   		END IF;
	   	ELSE
	   	   IF (NVL(length(PERROR_STR),0) > 0) THEN
	   			PERROR_STR := PERROR_STR || ' does not exist in Risk Trader Group Mapping.';
	   	   END IF;
	   END IF;
	   
	   IF (NVL(length(PERROR_STR),0) > 0) THEN
	   			RAISE_APPLICATION_ERROR (-20001, PERROR_STR);
	   	ELSE
	   			INSERT INTO BROKER_MAPPING(INTERNAL_GROUP,EXTERNAL_GROUP,CLIENT_BROKER,POSITION_BROKER,CREATED_BY,CREATED_DT,MODIFIED_BY,MODIFIED_DT)
	        	VALUES(P_INTERNAL_GROUP,P_EXTERNAL_GROUP,P_CLIENT_BROKER,P_POSITION_BROKER,P_USER,CURRENT_DATE,P_USER,CURRENT_DATE);
	   	END IF;
	END IF;
END AddBroker;

PROCEDURE DeleteGroupInfo(
    	P_GROUP 		IN  VARCHAR2
 )
 AS
	PCONUT_STR       VARCHAR2(4000);
	PERROR_STR       VARCHAR2(4000);
	BEGIN
    PERROR_STR := '';
    
	SELECT listagg(column_value, ',' ) within group (order by column_value) as GROUP_ID INTO PCONUT_STR FROM TABLE(FN_SPLIT(P_GROUP,',')) 
		where column_value not in (
			SELECT distinct GROUP_ID from GROUP_MAPPING 
				WHERE GROUP_ID in (SELECT * FROM TABLE(FN_SPLIT(P_GROUP,',')))
	);
	
	IF (NVL(length(PCONUT_STR),0) > 0) THEN
	 PERROR_STR := PERROR_STR || 'Unsupported Operation: Risk Trader Group Code '''||PCONUT_STR||''' not existed. ';
	END IF;
	
	 SELECT listagg(GROUP_ID, ',' ) within group (order by GROUP_ID) as GROUP_ID INTO PCONUT_STR from GROUP_MAPPING 
		WHERE GROUP_ID in (
		    select distinct INTERNAL_GROUP from BROKER_MAPPING WHERE INTERNAL_GROUP in (SELECT * FROM TABLE(FN_SPLIT(P_GROUP,',')))
		    union
		    select distinct EXTERNAL_GROUP from BROKER_MAPPING WHERE EXTERNAL_GROUP in (SELECT * FROM TABLE(FN_SPLIT(P_GROUP,',')))
    );
    
	 IF (NVL(length(PCONUT_STR),0) > 0) THEN
	 	PERROR_STR := PERROR_STR || 'Constraint Error: '''||PCONUT_STR||''' has been referred by Broker Mapping';
	 END IF;
	 
	 IF(NVL(length(PERROR_STR),0) > 0) THEN
	 	RAISE_APPLICATION_ERROR (-20001, PERROR_STR);
	 ELSE
	 	DELETE FROM GROUP_MAPPING WHERE GROUP_ID in (SELECT * FROM TABLE(FN_SPLIT(P_GROUP,',')));
	 END IF;
	 
	 
END DeleteGroupInfo;


public Map<String, Object> executeNotCloseConn(AbstractCallableStatement procedure,Connection conn)
            throws SQLException {
    	if(procedure == null) {
    		throw new SQLException("StoredProcedure is null.");
    	}
        CallableStatement cs = null;
        Map<String, Object> returnedResults = null;
        try {
            cs = conn.prepareCall(procedure.getCallString());
            CallableStatement csToUse = this.prepareCallableStatement(cs, procedure.getDeclaredParameters());
            csToUse.execute();
            returnedResults = extractOutputParameters(csToUse, procedure.getDeclaredParameters());
        } catch (SQLException e) {
            this.rethrow(e, procedure.getCallString(), procedure.getDeclaredParameters());
        }finally {
        	DBUtils.closeQuietly(cs);
        }
        return returnedResults;
    }

public abstract class DatabaseAccessSupport {
	
	private static final Logger LOGGER = LoggerFactory.getLogger(DatabaseAccessSupport.class);
	
	private DataSourceFactory dataSourceFactory;
	
	private JdbcTemplate jdbcTemplate;
	
	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
		this.jdbcTemplate = jdbcTemplate;
	}

	public JdbcTemplate getJdbcTemplate(){
		if (jdbcTemplate == null) {
			jdbcTemplate = new JdbcTemplate(dataSourceFactory.getDataSource());
			LOGGER.trace("JdbcTemplate set to [{}]", jdbcTemplate);
		}
		
		return jdbcTemplate;
	}
	
	public void setDataSourceFactory(final DataSourceFactory dataSourceFactory) {
		this.dataSourceFactory = dataSourceFactory;
	}
}

	/**
	 * @param tradeIds
	 * @return Map&lt;TRADE_ID, FIXML_TEXT&gt;
	 */
	public Map<String, String> findAllFIXML(final Collection<String> tradeIds) {

		if (tradeIds.isEmpty()) {
			return new HashMap<String, String>();
		}

		NamedParameterJdbcTemplate jdbcTemplate = new NamedParameterJdbcTemplate(super.getJdbcTemplate());

		MapSqlParameterSource parameters = new MapSqlParameterSource();
		parameters.addValue("ids", tradeIds);

		try {
			return jdbcTemplate.query(QUERY_FIXML_SQL, parameters, new ResultSetExtractor<Map<String, String>>() {
				@Override
				public Map<String, String> extractData(ResultSet rs) throws SQLException, DataAccessException {
					Map<String, String> idMap = new HashMap<String, String>();
					while (rs.next()) {
						idMap.put(rs.getString(1), rs.getString(2));
					}
					return idMap;
				}
			});
		} catch (Exception e) {
			throw new OMSDBConnectionException(e);
		}
	}


exp rpadba/rpadba@${host} file=E:\FXAG_DB_Dump\rpadba.dump owner=('RPADBA') log=E:\FXAG_DB_Dump\rpadba.log 

imp rpadba/rpadba@${host} file=E:\FXAG_DB_Dump\rpadba.dump log=E:\FXAG_DB_Dump\rpadba_imp.log fromuser=RPADBA touser=RPADBA


GRANT CONNECT TO $schema;
GRANT CREATE VIEW TO $schema;
GRANT DEBUG ANY PROCEDURE TO $schema;
GRANT DEBUG CONNECT SESSION TO $schema;
GRANT RESOURCE TO $schema;
GRANT UNLIMITED TABLESPACE TO $schema;

TNS_ADMIN:
C:\app\

export GTH DB:
exp gthdba/gthdba@${host} file=c:\FXAG_DB_Dump\rpadba.dump owner=('RPADBA') log=E:\FXAG_DB_Dump\rpadba.log 
分享到:
评论

相关推荐

    dede_sql用法

    ### dede_sql用法详解 #### 一、概述 在织梦CMS(DedeCMS)系统中,`dede_sql`是一个非常实用的功能模块,它允许开发者直接在模板中执行自定义的SQL查询语句,并将查询结果动态展示出来。这对于实现更为复杂的数据...

    SQL用法大全.chm

    主要介绍SQL用法大全

    不同数据库sql用法

    mysql,oracel,sqlserver,db2 数据库sql用法

    sql基本用法

    数据库操作的sql用法,很齐全,可以直接使用。

    程序员的SQL金典,详解SQL用法

    详解SQL用法,与各数据库间的差异,是数据库开发不可少的宝典

    SQLServer SQL经典SQL用法,很多用法提高效率,工具SQL

    本SQL文件是在多年的工作经验中总结后编写的;因为业务复杂的需要;需要我们考虑性能、效率、精简的实现我们的SQL代码;该SQL技巧文档希望对你有很大的帮助。

    sql使用方法

    使用方法用于使用sql运用的一些问题,很好的解决一些sql的问题

    经典SQL用法

    以下是对这些经典SQL用法的详细解释: 1. **SQL基础概念**:SQL主要包括数据查询语言(DQL)、数据操作语言(DML)、数据定义语言(DDL)和数据控制语言(DCL)。DQL用于查询数据,DML用于插入、更新和删除数据,...

    dede sql使用技巧

    #### 三、使用方法示例 1. **调用特定会员发布的文章内容** ```php {dede:sql sql='Select * from dede_archives where mid=1'} [field:id/]' target='_blank'&gt;[field:title/] {/dede:sql} ``` - **解释**...

    很全的sql用法集,不错的哦

    很全的sql用法集,分享给大家 。值嘚收藏!

    Sybase SQL anywhere10全部学习资料

    非常详细. 00.sybase中文安装指南FOR WIN 01.SQL Anywhere 10简介 02SQL Anywhere 10更改和升级 03SQL Anywhere 服务器数据库管理 04SQL Anywhere 服务器SQL 用法 05SQL Anywhere 服务器SQL 参考...

    sql中exists的用法

    SQL 中 EXISTS 的用法简介 exists 是 SQL 中最常用的子查询操作符之一,用于检测子查询是否返回至少一个记录。exists 的使用场景非常广泛,包括对多表之间的关系进行查询、检测记录的存在性等。 在 SQL 中,exists...

    SQL Server使用方法

    SQL Server 使用方法 SQL Server 是微软公司开发的一种关系数据库管理系统,广泛应用于企业级数据库管理。这里将详细介绍 SQL Server 的使用方法,包括企业管理器、创建数据库、创建表、编辑数据和查询分析器等内容...

    LINQ TO SQL用法讲解

    LINQ TO SQL的用法讲解,深入浅出,对理解LINQ和SQL访问有较好的参考价值

    SQLTracker监视使用Oracle数据库的应用程序

    SQLTracker是一款专为监视使用Oracle数据库的应用程序设计的工具,尤其在Windows 7和Windows 10 64位操作系统上表现出色。该工具的主要目标是帮助系统管理员、DBA(数据库管理员)以及开发人员更好地理解和优化应用...

    sql基本用法 标准sql和特殊数据库sql

    SQL的基本用法包括数据查询、数据插入、数据更新和数据删除,同时,不同的数据库系统如Oracle和SQL Server等会有其特定的扩展和优化。 1. 数据查询:SQL中最基本的操作就是查询数据,这主要通过`SELECT`语句实现。...

    SQL join 完全用法

    SQL join 完全用法 SQL join 完全用法 学习sql join

    Oracle的SQL监视工具SQLTracker

    通常,一些较旧的.NET应用程序需要3.5框架才能运行,但SQLTracker的这个版本已经解决了这一依赖性,使得在最新的操作系统上无需额外安装就能直接使用,简化了用户的部署过程。 在Oracle数据库管理中,SQL性能优化是...

    SQLServer动态SQL语句的用法

    SQL Server 动态 SQL 语句的用法 SQL Server 中的动态 SQL 语句是一种灵活的查询方式,它可以根据不同的情况生成不同的 SQL 语句。动态 SQL 语句可以用来实现复杂的业务逻辑,提高查询效率和灵活性。 普通 SQL ...

    SQL中like的用法

    SQL语句 SELECT LIKE like用法详解 包含你不知道的用法 在SQL结构化查询语言中,LIKE语句有着至关重要的作用。

Global site tag (gtag.js) - Google Analytics