달력

52024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
반응형

출처 http://cafe.naver.com/masterexcel/592

 

DROP FUNCTION IF EXISTS split_str;

DELIMITER $$

CREATE FUNCTION split_str(in_str text, d_char varchar(1), pos int)
RETURNS text
RETURN SUBSTRING_INDEX(SUBSTRING_INDEX(in_str, d_char, pos), d_char, -1);
$$

DELIMITER ;

 

 


select 'Shin-Osaka, Osaka, Japan',  split_str('Shin-Osaka, Osaka, Japan',',',1)

 

반응형
Posted by 친절한 웬디양~ㅎㅎ
|

mysql

Develope/DB...etc... 2016. 1. 6. 10:04
반응형

mysql 프로시저 수정하기

DB

등록된 프로시저 확인

show procedure status;

 

 Procedure 리스트 & 상태 보기

    mysql> SHOW PROCEDURE STATUS WHERE Db = '디비 명';

 

특정프로시저 내용보기

show create procedure [프로시저명]

 

 

등록된 이벤트 확인

show events;

 

 

특정 이벤트 내용보기

show create events [이벤트명]

 

 

프로시저 수정

프로시저 에트리뷰트를 변경하려면 alter procedure 문법을 사용하면 된다. 

본문을 수정하려면 같은 이름의 프로시저는 drop한 뒤 다시 만들면 된다. 기존 프로시저 내용은 show create procedure [프로시저명]을 통해 확인한다.

 

 

프로시저 삭제

drop procedure [프로시저명]

 

 

 

프로시저 만들기

delimiter //

CREATE PROCEDURE [프로시저명 및 속성]

CREATE DEFINER=`raptor`@`localhost` PROCEDURE `front_search`()

BEGIN

동작내용

END //

delimiter ;

 

 

delimiter는 문법 종료 구분자를 변경해주는 것임. 임시로 //로 바꿔주어 프로시저 문법 내에 세미콜론(;)이 나올때 프로시저 문법 작성이 끝나지 않도록 한다.

[출처] mysql 프로시저|작성자 삽질맨

 

 

======================================================================

 


SHOW FULL TABLES IN database_name WHERE TABLE_TYPE LIKE 'VIEW';
SHOW CREATE  [ VIEW | function | procedure | table ] name_of_object;

 

반응형
Posted by 친절한 웬디양~ㅎㅎ
|
반응형

출처 : http://lab4109.blogspot.com/2013/10/mariadb-database-user.html

MySQL과 똑같다. 설명이 필요 없음...
일단 DB 생성

1
2
MariaDB [(none)]> create database dottegidb;
Query OK, 1 row affected (0.00 sec)

그리고 사용자 생성
1
2
MariaDB [dottegidb]> create user 'xxxxxx'@'localhost' identified by 'yyyyyy';
Query OK, 0 rows affected (0.00 sec)
혹시라도 외부에서 접속을 할 수 있게 하려면 localhost가 아닌 '%'로 하나 더 생성해 줘야 함.

마지막으로 권한 부여
1
2
3
4
5
MariaDB [dottegidb]> grant all privileges on dottegidb.* to yangsae@localhost;
Query OK, 0 rows affected (0.00 sec)
 
MariaDB [dottegidb]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

잘 됐는지 테스트
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
~> mysql -uxxxxxx -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.32-MariaDB Source distribution
 
Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| dottegidb          |
| test               |
+--------------------+
3 rows in set (0.00 sec)

나는 db client로 sequel pro를 사용하는데 connector는 그냥 mysql에서 제공하는 것으로 사용한다. 그리고 기존에 mysqldb에 만들어 뒀던 db와 같은 이름의 db를 여기에 생성했더니 지난 설정 그대로 접속이 바로 됨.

 

반응형
Posted by 친절한 웬디양~ㅎㅎ
|

clj-soap

Develope/clojure 2015. 12. 8. 17:36
반응형

출처 : https://github.com/seancorfield/clj-soap

 

THIS PROJECT IS NO LONGER MAINTAINED!

I forked it purely to get it running on Clojure 1.3 and then found it didn't do what I needed anyway.

If you think it might be useful to you, please fork it and maintain it yourself. If you decide to take over as lead maintainer, let me know and I'll update this readme to point to your new fork.

clj-soap

clj-soap is SOAP server and client using Apache Axis2.

This version is updated from Tetsuya Takatsuru's version to use Clojure 1.5.1 (and modern contrib). Note however that I am not actively maintaining this library and would welcome someone taking it over. I updated Tetsuya's code to use a more modern Clojure environment purely to test it for a problem I was working on - it didn't really do what I needed so I took a different approach (using Axis 1.x libraries at a much lower level for one specific web service).

Usage

Client

You can call remote SOAP method as following:

(require '[clj-soap.core :as soap])

(let [client (soap/client-fn "http://... (URL for WSDL)")]
  (client :someMethod param1 param2 ...))

Server

To make SOAP service:

(require '[clj-soap.core :as soap])

;; Defining service class
(soap/defservice my.some.SoapClass
  (someMethod ^String [^Integer x ^String s]
              (str "x is " x "\ts is " s)))

;; Start SOAP Service
(serve "my.some.SoapClass")

defservice needs to be AOT-compiled. For example, lein compile before running server.

Type Hint

SOAP services need typehints. String for arguments and void for return value, if you don't specify typehints.

License

Copyright (C) 2011 Tetsuya Takatsuru

Distributed under the Eclipse Public License, the same as Clojure.

반응형
Posted by 친절한 웬디양~ㅎㅎ
|
반응형

출처:http://neomi2428.blogspot.com/2010/08/mysql-index-%EC%B6%94%EA%B0%80-%EC%82%AD%EC%A0%9C-%ED%99%95%EC%9D%B8%ED%95%98%EA%B8%B0.html

[MySQL] index 추가, 삭제, 확인하기

1. 테이블의 인덱스 확인하기

SHOW INDEX FROM tablename;

2-1. 테이블의 인덱스 추가하기 : 컬럼은 1개도 가능, 2개 이상도 가능
ALTER TABLE tablename ADD INDEX indexname (column1, column2);

2-2. 테이블의 유니크 인덱스 추가하기 : 컬럼은 1개도 가능, 2개 이상도 가능
ALTER TABLE tablename ADD UNIQUE INDEX indexname (column1, column2);

3. 테이블의 인덱스 삭제하기

ALTER TABLE tablename DROP INDEX indexname;


==========================================


출처 : https://medium.com/@pasioner/mysql-primary-key-%EC%82%AD%EC%A0%9C-%EB%B3%80%EA%B2%BD-38a7b6db9128#.gmeyijdum


테이블을 만들었으나 primary key를 2개로 세팅하고 싶었어요.

일단 1개로 설정된 primary key를 삭제합니다.

ALTER TABLE content_keyword_map
DROP PRIMARY KEY

column이 auto increment이라면 삭제가 안될 수 있어요. primary key속성을 삭제하기 전에 auto increment속성은 제거하면 됩니다.

다음, 두개의 컬럼을 primary key로 추가합니다.

ALTER TABLE content_keyword_map
ADD CONSTRAINT PRIMARY KEY (content_id, keyword)



반응형
Posted by 친절한 웬디양~ㅎㅎ
|
반응형

출처 : http://www.mysqlkorea.com/sub.html?mcode=manual&scode=01&m_no=21700&cat1=12&cat2=351&cat3=363&lang=k



12.1.3. 비교 함수와 연산자

 

비교 연산의 결과는 1 (TRUE), 0 (FALSE), 또는 NULL가 된다이러한 연산은 
숫자 및 스트링에서 실행된다스트링은 자동으로 숫자로 변환되며 필요할 경우
에는 숫자를 스트링으로 변환 시킬 수도 있다.
 
이 섹션에 있는 몇몇 함수들 (LEAST() 및 GREATEST()와 같은 함수들)은 1 
(
TRUE), 0 (FALSE), 또는 NULL이 아닌 값 자체를 리턴 한다하지만이러한 
함수들은 Section 12.1.2, “ 계산에서의 타입 변환에서 설명한 규칙에 따
라서 실행된 비교 연산에 근거하여 값을 리턴한다.
 
비교 연산의 목적에 맞게 어떤 값을 특정 타입으로 변환하기 위해서는CAST() 
함수를 사용하면 된다스트링 값은 CONVERT()을 사용하면 서로 다른 문자 셋
으로 변환 시킬 수가 있다. Section 12.8, “캐스트(Cast) 함수  연산자를 참조.
 
디폴트로는스트링 비교 연산은 문자 크기를 구분하지 않으며 현재(current)의 
문자 셋을 사용한다디폴트는 
latin1 (cp1252 West European)이며이것은 영어
에서도 잘 동작을 한다.
  • =

같음(equal):

mysql> SELECT 1 = 0;
        -> 0
mysql> SELECT '0' = 0;
        -> 1
mysql> SELECT '0.0' = 0;
        -> 1
mysql> SELECT '0.01' = 0;
        -> 0
mysql> SELECT '.01' = 0.01;

        -> 1   

  • <=>

NULL-세이프(safe) 등호이 연산자는 = 연산자와 같은 등식 비교 연산
을 실행하지만양쪽의 연산자가 모두 
NULL이면NULL 대신에 1그리고 
하나의 연산자만 
NULL이면NULL 대신에 0 을 리턴한다.

mysql> SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL;
        -> 1, 1, 0
mysql> SELECT 1 = 1, NULL = NULL, 1 = NULL;
        -> 1, NULL, NULL        
  • <>!=

같지 않음(Not equal):

mysql> SELECT '.01' <> '0.01';
        -> 1
mysql> SELECT .01 <> '0.01';
        -> 0
mysql> SELECT 'zapp' <> 'zappp';
        -> 1 
  • <=

작거나 같음:

mysql> SELECT 0.1 <= 2;
        -> 1
  • <

보다 작음:

mysql> SELECT 2 < 2;
        -> 0
  • >=

크거나 같음:

mysql> SELECT 2 >= 2;
        -> 1
  • >

보다 큼:

mysql> SELECT 2 > 2;
        -> 0
  • IS boolean_valueIS NOT boolean_value

불리안 값에 대응해서 값을 테스트 하는데여기에서 boolean_value 은 
TRUEFALSE, or UNKNOWN이 될 수 있다.

mysql> SELECT 1 IS TRUE, 0 IS FALSE, NULL IS UNKNOWN;
        -> 1, 1, 1
mysql> SELECT 1 IS NOT UNKNOWN, 0 IS NOT UNKNOWN, NULL IS NOT UNKNOWN;
        -> 1, 1, 0

IS [NOT] boolean_value 신텍스는 MySQL 5.0.2에서 추가 되었다.

  • IS NULLIS NOT NULL

값이 NULL인지 아닌지를 테스트

mysql> SELECT 1 IS NULL, 0 IS NULL, NULL IS NULL;
        -> 0, 0, 1
mysql> SELECT 1 IS NOT NULL, 0 IS NOT NULL, NULL IS NOT NULL;
        -> 1, 1, 0 
ODBC 프로그램과 잘 동작을 하도록 하기 위해서, MySQLIS NULL
사용할 때 아래와 같은 추가적인 기능들을 지원한다:
    • 값을 생성한 다음에 곧바로 아래와 같은 명령문을 입력하면 가장 
      최근의 
      AUTO_INCREMENT 값을 가지고 있는 열을 찾을 수가 있다:
o         SELECT * FROM tbl_name WHERE auto_col IS NULLNULL

이러한 동작은 SQL_AUTO_IS_NULL=0로 설정을 하면 비 활성화 
시킬 수가 있다. Section 13.5.3, “SET 신텍스를 참조.

    • NOT NULL로 선언된 DATE 및 DATETIME 컬럼에 대해서는아래와 
      같은 명령문을 사용하면 특수 날짜인 
      '0000-00-00'을 찾을 수가 있다:
o       SELECT * FROM tbl_name WHERE date_column IS NULL

이것은 ODBC가 '0000-00-00' 와 같은 날짜 값을 지원하지 않기 
때문에 어떤 경우의 어플리케이션을 실행하기 위해서 필요할 때가 있다.

  • expr BETWEEN min AND max

만일 expr 가 min 보다 크거나 같고 expr 가 max 보다 작거나 같으면BETWEEN
은 1을 리턴하고그렇지 않으면 0 을 리턴 한다이것은 모든 인수가 동일한 타입일 
경우의 수식 
(min <= expr AND expr <= max)과 같다그렇지 않을 경우타입 변환이
Section 12.1.2, “수식 계산에서의 타입 변환에서 설명한 방식에 따라서 실행되지만,
세 가지 인수 모두에 적용된다.

mysql> SELECT 1 BETWEEN 2 AND 3;
        -> 0
mysql> SELECT 'b' BETWEEN 'a' AND 'c';
        -> 1
mysql> SELECT 2 BETWEEN 2 AND '3';
        -> 1
mysql> SELECT 2 BETWEEN 2 AND 'x-3';
        -> 0
  • expr NOT BETWEEN min AND max

이것은 NOT (expr BETWEEN min AND max)과 동일하다.

  • COALESCE(value,...)

리스트에 있는 첫 번째 논(non)-NULL 을 리턴하거나또는 논(non)-NULL 값이 
없을 경우에는 
NULL을 리턴한다.

mysql> SELECT COALESCE(NULL,1);
        -> 1
mysql> SELECT COALESCE(NULL,NULL,NULL);
        -> NULL
  • GREATEST(value1,value2,...)

두 개 이상의 인수를 사용하면그 중에 가장 큰 인수 값을 리턴 한다인수들은 
LEAST()에서 적용하는 규칙과 같은 것을 사용해서 비교가 된다.

mysql> SELECT GREATEST(2,0);
        -> 2
mysql> SELECT GREATEST(34.0,3.0,5.0,767.0);
        -> 767.0
mysql> SELECT GREATEST('B','A','C');
        -> 'C'

MySQL 5.0.13 이전 버전에서는GREATEST()은 모든 인수가 NULL 일 경우에만 
NULL을 리턴한다. 5.0.13 이후에는인수 중의 하나가 NULL 이면 NULL을 리턴한다.

  • expr IN (value,...)

만일 expr 이 IN 리스트에 있는 값들 중의 하나와 같게 되면 1그렇지 않으면 0 을 
리턴한다만일 모든 값이 상수라면그 값들은 
expr 의 타입에 따라서 값이 계산된 
후에 정렬이 된다그런 다음에아이템에 대한 검색은 바이너리 검색을 통해서 
실행된다이것은만일 This means 
IN 의 값 리스트가 전체적으로 상수로 구성되어 
있다면 
IN이 매우 빠르다는 것을 의미하는 것이다그렇지 않을 경우에는
Section 12.1.2, “수식 계산에서의 타입 변환
에서 설명한 규칙에 따라서 타입 변환이
일어나지만모든 인수에 적용이 된다.

mysql> SELECT 2 IN (0,3,5,'wefwf');
        -> 0
mysql> SELECT 'wefwf' IN (0,3,5,'wefwf');
        -> 1

IN 리스트에 있는 값의 번호는 max_allowed_packet 값에 의해서만 한정이 된다.

표준 SQL을 따르기 위해서IN 은 왼쪽 부분의 수식이 NULL 일 경우 뿐만 아니라
리스트에서 매치되는 것을 발견하지 못하고 리스트에 있는 수식 중의 하나가 
NULL일 
경우에도 
NULL을 리턴한다IN() 신텍스는 특정 타입의 서브 쿼리를 작성할 때에도 
사용할 수가 있다
Section 13.2.8.3, “ANYIN그리고 SOME  사용하는 서브 쿼리
를 참조.

  • expr NOT IN (value,...)

NOT (expr IN (value,...))과 동일한 것임.

  • ISNULL(expr)

만일 expr 이 NULL 이라면ISNULL() 은 1 그렇지 않을 경우라면 0 을 리턴한다.

mysql> SELECT ISNULL(1+1);
        -> 0
mysql> SELECT ISNULL(1/0);
        -> 1

can be used instead of = to test whether 어떤 값이 NULL인지 아닌지를 테스트 
하기 위해서 = 대신에
 ISNULL() 을 사용할 수도 있다. (= 를 사용해서 어떤 값을 
NULL 과 비교하면 항상 거짓(false)이 나온다.) 
ISNULL() 함수는 IS NULL 비교 연산자와 함께 특정 동작을 공유한다
IS NULL에 대한 설명을 참조할 것.

  • INTERVAL(N,N1,N2,N3,...)

N < N1 일 경우에는 0 N < N2 과 같은 순서일 경우에는 1 또는 N 이 
NULL이면 -1을 리턴한다모든 인수는 정수로 다루어진다이 함수에 대해서는 
N1 < N2 < N3 < ... < Nn 이 제대로 동작 되어야 한다그 이유는 여기에서는 
바이너리 검색이 사용되기 때문이다.

mysql> SELECT INTERVAL(23, 1, 15, 17, 30, 44, 200);
        -> 3
mysql> SELECT INTERVAL(10, 1, 10, 100, 1000);
        -> 2
mysql> SELECT INTERVAL(22, 23, 30, 44, 200);
        -> 0
  • LEAST(value1,value2,...)

두 개 이상의 인수를 사용하면가장 작은 인수 값을 리턴한다
인수들은 아래의 규칙에 따라서 비교가 된다:

    • 만일 리턴 값이 INTEGER 문맥에서 사용되거나 또는 모든 인수가 정수 
      값이라면그 인수들은 정수로 비교가 된다.
    • 만일 리턴 값이 REAL 문맥에서 사용되거나 또는 모든 인수가 실수 값
      (real value)이라면인수들은 실수(real)로 비교된다.
    • 만일 어떤 인수가 문자 크기에 민감한 스트링이라면그 인수는 문자 
      크기를 구분하는 스트링으로 비교가 된다.
    • 이외의 모든 경우에는인수들은 문자 크기와는 상관없는 스트링으로 
      비교가 된다.

MySQL 5.0.13 이전의 경우LEAST() 은 모든 인수가 NULL 일 경우에만 
NULL을 리턴한다. 5.0.13 이후에는어떤 인수가 NULL 이면 NULL을 리턴한다.

mysql> SELECT LEAST(2,0);
        -> 0
mysql> SELECT LEAST(34.0,3.0,5.0,767.0);
        -> 3.0
mysql> SELECT LEAST('B','A','C');
        -> 'A'

위의 변환 규칙은 어떤 경계 라인(borderline)의 경우에는 예상하지 못한 
결과를 만들 수도 있다는 점을 알아 두기 바란다:

mysql> SELECT CAST(LEAST(3600, 9223372036854775808.0) as SIGNED);

        -> -9223372036854775808

 

위의 결과가 나오는 이유는, MySQL이 9223372036854775808.0을 정수 문맥에서 
읽기 때문이다위의 값을 가지기 위해서는 정수 표현식이 좋지 않기 때문에
이것을 부호화된 정수 타입으로 만들었다.

반응형
Posted by 친절한 웬디양~ㅎㅎ
|
반응형
Description:
In the MySQL stored procedure language, handlers can be written to handle the occurrence of some condition. Typically, handlers are used to handle error conditions.
Error conditions are conveniently declared by referring to some predefined class of conditions (e.g. NOT FOUND), or by specifying a particular SQLSTATE. Also, a "catch-all-others" condition is predefined (SQLEXCEPTION), in order to handle those errors for which no appropriate handler is in scope.
However, when handling such a general error condition, MySQL stored procedures do not provide any means to discover the nature of the error condition. If one would want to log the occurrence of the error, there is no way of logging the current value of SQLSTATE from within the stored procedure layer. One is forced to do this from the application layer, which seems to be the wrong place to do this.
Other major dbms-es have solved this by exposing the current errorcode and (sometimes message) in a global variable (@@ERROR for MSSQL, SQLCODE and SQLERRM for Oracle). The ANSI Standard also suggests a command to discover the nature of an error condition by using the GET DIAGNOSTICS command (although it is not clear to me in what form the information would become available in the context where diagnostics are requested).

How to repeat:
NA

Suggested fix:
Expose SQLSTATE or something similar (like C API mysql_error()) as a global variable or function from within the context of stored procedures so that we could write:

declare exit handler for sqlexception
    insert into error_table (
        code
    ,   message
    ) values (
        @@SQLSTATE
   ,    @@SQLSTATE_MESSAGE
    )

 

 

========================================================================

 

 

 

 

DELIMITER $$

DROP PROCEDURE IF EXISTS `sp_Test` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_Test`()
body:
BEGIN

    DECLARE err_key INT DEFAULT 0;

    CREATE TEMPORARY TABLE T1 (ID INT, Name VARCHAR(250));
    CREATE TEMPORARY TABLE T2 (ID INT, Name VARCHAR(250));

    SET AUTOCOMMIT=0;
    START TRANSACTION;

    BEGIN
        DECLARE EXIT HANDLER FOR SQLEXCEPTION SET err_key=1;
        DECLARE EXIT HANDLER FOR SQLWARNING SET err_key=2;

        INSERT INTO T111
        SELECT Source_ID_In, Master_Company_Name_in
        FROM htn.jigsaw_temp limit 1,10;

        INSERT INTO T1
        SELECT Source_ID_In, Master_Company_Name_in
        FROM htn.jigsaw_temp limit 11,30;

        INSERT INTO T1
        SELECT Source_ID_In, Master_Company_Name_in
        FROM htn.jigsaw_temp limit 31,40;
    END;

    IF err_key = 1 THEN
         ROLLBACK;
         SELECT 'SQL EXCEPTION ERROR';
         SELECT perror;
         DROP TABLE T1;
         DROP TABLE T2;
         leave body;
    END IF;

    IF err_key = 2 THEN
         ROLLBACK;
         SELECT 'SQL WARNING ERROR';
         DROP TABLE T1;
         DROP TABLE T2;
         leave body;
    END IF;

    SELECT * FROM T1;
    DROP TABLE T1;
    DROP TABLE T2;
    COMMIT;
END $$

DELIMITER ;

 

 

외.... 참고....http://cafe.naver.com/life4we/45

반응형
Posted by 친절한 웬디양~ㅎㅎ
|
반응형

-- 테이블에 자동증가 PK컬럼 만들고 추가된 컬럼 맨 앞으로 이동하기
ALTER TABLE tableName ADD columnName INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;


-- 테이블에 컬럼 만들기
ALTER TABLE tableName ADD columnName INT NOT NULL;


-- 테이블에 자동증가 PK컬럼 수정하고 맨 앞으로 이동하기
ALTER TABLE tableName MODIFY columnName INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;


-- 테이블에 컬럼 수정하기
ALTER TABLE tableName MODIFY columnName INT NOT NULL;


-- 테이블명 tableName1에서 tableName2로 변경
ALTER TABLE tableName1 RENAME tableName2;


-- 컬럼명 columnName1에서 columnName2로 변경

ALTER TABLE tableName CHANGE columnName1 columnName2  VARCHAR(10) NOT NULL;


-- 컬럼명 columnName1 위치를 columnName2 뒤로 컬럼순서 변경
ALTER TABLE tableName CHANGE COLUMN columnName1 columnName1 VARCHAR(1) NOT NULL DEFAULT 'N'  AFTER columnName2;


-- 컬럼 삭제
ALTER TABLE tableName DROP columnName;


-- 지정한 컬럼 뒤에 새로운 컬럼 추가
ALTER TABLE tableName ADD columnName VARCHAR(10) NOT NULL AFTER 지정컬럼;


-- 지정 컬럼 지우고 맨 앞에 컬럼 추가
ALTER TABLE tableName DROP 지정컬럼, ADD columnName VARCHAR(10) NOT NULL FIRST;


-- PRIMARY KEY 삭제
ALTER TABLE tableName DROP PRIMARY KEY;

 

반응형
Posted by 친절한 웬디양~ㅎㅎ
|
반응형

<script language="javascript" type="text/javascript">

fucntion change(src){

  document.getElementById('mainimg').style.backgroundImage="url('" + src + "')";

}

</script>

<table>

  <tr>

    <td width="400" height="400">

      <div align="center" id="mainimg" style="width:400;height:400px;background-image:URL('/images/02_1.gif')">문장문장</div></td>

    <td><span onclick="change('/images/03.gif');">배경 바꾸기</span></td>

  </tr>

</table>

[출처] div background 변경|작성자 dan ni el

 

반응형
Posted by 친절한 웬디양~ㅎㅎ
|

마리아DB

Develope/DB...etc... 2015. 9. 2. 13:40
반응형
반응형
Posted by 친절한 웬디양~ㅎㅎ
|