从表中获取数据

时间:2017-02-02 11:14:08

标签: mysql sql stored-procedures

我的数据库中有以下表格

CREATE TABLE `sms_pool` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `ag_id` VARCHAR(20) NOT NULL,
    `sms_to` VARCHAR(15) NOT NULL,
    `template_name` VARCHAR(100) NOT NULL,
    `contents` VARCHAR(500) NOT NULL,
    `bulk_flag` VARCHAR(1) NOT NULL,
    `file_name` VARCHAR(100) NULL DEFAULT NULL,
    `send_flag` VARCHAR(1) NOT NULL,
    `creation_date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `created_by` VARCHAR(20) NOT NULL,
    `modification_date` DATETIME NULL DEFAULT NULL,
    `modified_by` VARCHAR(20) NULL DEFAULT NULL,
    `processing_msg` VARCHAR(2000) NULL DEFAULT NULL,
    PRIMARY KEY (`id`),

);

我希望编写一个程序/功能,其中包含' id'作为输入。

如果' id'在表中出现然后它应该返回相应的行,

如果' id' = NULL然后它应该返回数据库中的所有行。

注意:如果' id'表中没有,那么它应该返回所有行。

我该怎么做?任何帮助表示赞赏。 先感谢您。 :d

1 个答案:

答案 0 :(得分:1)

你可能意味着

select * from sms_pool
where :id = id OR :id is null;